﻿/* CSS Document */

/* --- ABOUT --- */
.lowerpage.about #head { background-image: url(../../about/assets/images/main.jpg); }

.lowerpage.about .contents.black p,
.lowerpage.about .contents.black h3 { color: #000;}
.lowerpage.about .contents.black p { font-weight: 400;}
.lowerpage.about .contents.black hgroup.h3 { text-align: left; margin-bottom: 1rem}
.lowerpage.about .contents.black hgroup.h3 p { color: #004FA3; font-weight: 700; }
.lowerpage.about .contents.black hgroup.h3 h3 { font-weight: 700; line-height: 1.6;}
.lowerpage.about .contents.black figure { text-align: center; }
.lowerpage .shelf.product { border-top: 1px solid #999;}

.lowerpage .shelf.product .txt-box p { font-weight: 600; }
.lowerpage .shelf.product p:nth-of-type(2) { color: #004FA3; line-height: 1.2;}
.lowerpage .shelf.product p:nth-of-type(3) { line-height: 1.5;}

.lowerpage#about #mission-value .shelf hgroup { text-align: center;}
.lowerpage#about #mission-value .shelf:nth-of-type(1) { border-bottom: 1px solid #999;}
.lowerpage#about #mission-value p.abbr { color: #004FA3; font-weight: 700;}
.lowerpage#about #mission-value p.abbr { line-height: 1.4;}
.lowerpage#about .mat#values { background-color: #c0d8f0; border-radius: .8rem; text-align: center;}

.lowerpage#numbers .mat { width: 100%; background-color: #DCEAF2; border-radius: .8rem; box-sizing: border-box;}
.lowerpage#numbers .mat .unit { aspect-ratio: 438 / 256; background-color: #fff; position: relative; box-sizing: border-box; padding: 1.5rem;}
.lowerpage#numbers .mat .pink { color: #ea6497;}
.lowerpage#numbers .mat .blue { color: #004fa2;}
.lowerpage#numbers .mat .unit p { line-height: 1.4;}
.lowerpage#numbers .mat .unit p.ttl { font-weight: 700; color: #004fa2; line-height: 1.3;}
.lowerpage#numbers .mat .unit p.num { width: 50%; height: calc(100% - 3rem); position: absolute; right: 1rem; top: 2rem; font-weight: 700; line-height: 1.1; font-family: 'Noto Sans JP', sans-serif; text-align: center;  background-repeat: no-repeat;}
.lowerpage#numbers .mat .unit p.num strong { font-weight: 700; vertical-align: baseline;}
.lowerpage#numbers .mat .unit p.num.img img { width: 80%;}
.lowerpage#numbers .mat .unit p.mid { font-weight: 600;}
.lowerpage#numbers .mat .unit p.small { position: absolute; left: 1.5rem; bottom: 1.5rem;}
.lowerpage#numbers .mat .unit:nth-of-type(1) p.num strong {  vertical-align: middle; }
.lowerpage#numbers .mat .unit:nth-of-type(n-2) p.num { top: 1.5rem;}
.lowerpage#numbers .mat .unit:nth-of-type(1) p.num { background-image: url(../../about/assets/images/pct01_1.svg); background-size: 68% auto; background-position: center 90%; letter-spacing: 0.1em;}
.lowerpage#numbers .mat .unit:nth-of-type(2) p.num { background-image: url(../../about/assets/images/pct01_2.svg); background-size: 68% auto; background-position: center 90%;}
.lowerpage#numbers .mat .unit:nth-of-type(5) p.num { background-image: url(../../about/assets/images/pct01_5.svg); background-size: 30% auto; background-position: 85% bottom;}
.lowerpage#numbers .mat .unit:nth-of-type(6) p.num { background-image: url(../../about/assets/images/pct01_6.svg); background-size: 35% auto; background-position: 85% bottom;}
.lowerpage#numbers .mat .unit:nth-of-type(7) p.num { background-image: url(../../about/assets/images/pct01_7.svg); background-size: 35% auto; background-position: 85% bottom;}
.lowerpage#numbers .mat .unit:nth-of-type(8) p.num { background-image: url(../../about/assets/images/pct01_8.svg); background-size: 30% auto; background-position: 85% bottom;}

.lowerpage#organization section#recruit { text-align: center; background-image: url(../../about/assets/images/img04_4.jpg); display: flex; align-items: center; justify-content: center; }

@media only screen and (min-width: 768px) {
.lowerpage.about #head h1 { color: #636363;}
.lowerpage.about h2 { font-size: 1.8rem;}
.lowerpage.about section:nth-of-type(1) .contents.black hgroup.h3 { margin-top: 5rem;}
.lowerpage.about .contents.black hgroup.h3 p { font-size: 1.1rem; }
.lowerpage.about .contents.black hgroup.h3 h3 { font-size: 1.8rem; }
.lowerpage.about .contents.black p.exp { font-size: 1rem;}
.lowerpage.about .contents.black figure { padding: 3.5rem 0 0;}
.lowerpage .shelf.product { display: flex; justify-content: space-between; padding: 1.5rem 0; }
.lowerpage .shelf.product.start { margin-top: 3rem;}
.lowerpage .shelf.product.end { border-bottom: 1px solid #999;}
.lowerpage .shelf.product .txt-box { width: 50%; padding-top: 1.5rem;}
.lowerpage .shelf.product .img-box { width: 50%;}
.lowerpage#industry .shelf.product .txt-box p:nth-of-type(1) { font-size: 1.4rem;}
.lowerpage#industry .shelf.product .txt-box p:nth-of-type(2) { font-size: 2.8rem;}
.lowerpage#industry .shelf.product .txt-box p:nth-of-type(3) { font-size: 1rem;}
.lowerpage#industry .shelf.product .txt-box a.readmore { margin-top: 5rem;}

.lowerpage#about #mission-value .shelf { display: flex; width: 100%; justify-content: space-between; }
.lowerpage#about #mission-value .shelf:nth-of-type(1) { padding-bottom: 4rem; margin-bottom: 4rem;}
.lowerpage#about #mission-value .shelf:nth-of-type(2) p.abbr { font-size: 1.25rem;}
.lowerpage#about #mission-value .shelf hgroup { width: 20%;}
.lowerpage#about #mission-value .shelf hgroup h2 { font-size: 1.25rem; margin: .75em 0 0;}
.lowerpage#about #mission-value .shelf hgroup p { font-size: .7rem;}
.lowerpage#about #mission-value .shelf hgroup img { width: 50%;}
.lowerpage#about #mission-value .shelf .txt { width: 72%;}
.lowerpage#about #mission-value p.abbr { font-size: 1.5rem; margin-bottom: 1.5rem;}
.lowerpage#about .mat#values { padding: 2rem 0 1.5rem; margin-top: 4rem;}
.lowerpage#about .mat#values .unit:nth-of-type(1) { width: 45%; margin: 0 auto 2rem;}
.lowerpage#about .mat#values .unit img { width: 3.6rem;}
.lowerpage#about .mat#values .shelf {margin: 1.5rem 5%; width: auto;}
.lowerpage#about .mat#values .shelf .unit { width: 31%; margin: 1.5rem 0 0; }
.lowerpage#about .mat#values .shelf .unit:nth-of-type(2) { margin-top: 2rem;}
.lowerpage#about .mat#values .shelf figure { width: 28%; margin: 0 5%;}
.lowerpage#about .mat#values .shelf .unit:nth-of-type(1) img { width: 4.4rem; margin: 0;}
.lowerpage#about .mat#values .shelf figure img { width: 100%;}
.lowerpage#about .mat#values .shelf .unit:nth-of-type(2) img { width: 5.7rem;}
.lowerpage#about .mat#values .unit p { font-size: .65rem;}
.lowerpage#about .mat#values .unit p:nth-of-type(1) { font-weight: 500; font-size: 1.1rem; margin: .5em 0 0;}
.lowerpage#about .mat#values .unit p:nth-of-type(2) { text-align:left;}

.lowerpage#numbers .mat { display:grid; grid-template-columns: repeat(2, calc(50% - .9rem)); gap: 1.8rem;  padding: 2.8rem;}
.lowerpage#numbers .mat .unit p.ttl { width: 40%; font-size: 2rem; margin-top: 4rem;}
.lowerpage#numbers .mat .unit p.num { font-size: 3.5rem; }
.lowerpage#numbers .mat .unit p.num  strong { font-size: 6.2rem;}
.lowerpage#numbers .mat .unit:nth-of-type(n+5) p.ttl { margin-top: 0.5rem;}
.lowerpage#numbers .mat .unit:nth-of-type(n+5) p.num { font-size: 2rem; letter-spacing: -0.05em;}
.lowerpage#numbers .mat .unit:nth-of-type(n+5) p.num  strong { font-size: 5.3rem;}
.lowerpage#numbers .mat .unit p.mid { font-size: 1.1rem; margin-top:.75em;}
.lowerpage#numbers .mat .unit p.small { font-size: .8rem}

.lowerpage#industry section#corporate_future { padding-bottom: 0;}
.lowerpage#industry section#corporate_future figure img { width: 55%;}
.lowerpage#industry section#main_business { padding-top: 4rem;}
.lowerpage#industry section#taskporta { padding: 4rem 0;}

.lowerpage.about#organization section:not(:last-child) { padding-bottom: 2rem;}
.lowerpage.about#organization #business_growth .contents.black figure { padding: 1.5rem 0 3rem; }
.lowerpage.about#organization #business_growth .contents.black figure img { width: 84%;}
.lowerpage.about#organization #culture .contents.black figure { padding: 4.5em 0 0; }
.lowerpage.about#organization #culture .contents.black figure img { width: 84%;}
.lowerpage.about#organization #career_map .contents.black figure { padding: 4.5em 0 0; }
.lowerpage.about#organization #career_map .contents.black figure img { width: 58%;}

.lowerpage#organization section#recruit { margin: 0 10% 5rem;}
}/* --- pc --- */
@media only screen and (max-width: 767px) {
.lowerpage.about .contents.black hgroup.h3 p { font-size: 1.1rem; }
.lowerpage.about .contents.black hgroup.h3 h3 { font-size: 1.4rem; }

.lowerpage .shelf.product { padding: 1.5rem 0; margin-top: .5rem; display: grid; grid-template-columns: 100%; gap: 1rem 0;}
.lowerpage .shelf.product.start { margin-top: 2rem; border-top: none;}
.lowerpage .shelf.product .txt-box  { grid-row: 2 / 3; position: relative;}
.lowerpage .shelf.product .img-box  { grid-row: 1 / 2;}
.lowerpage .shelf.product .txt-box .readmore { position: absolute; right: 0; top: 0;}


.lowerpage#about #mission-value .shelf:nth-of-type(1) { padding-bottom: 3rem; margin-bottom: 3rem;}
.lowerpage#about #mission-value .shelf:nth-of-type(2) p.abbr { font-size: 1.25rem;}
.lowerpage#about #mission-value .shelf hgroup { width: 100%;}
.lowerpage#about #mission-value .shelf hgroup h2 { font-size: 1.5rem; margin: .75em 0 0;}
.lowerpage#about #mission-value .shelf hgroup p { font-size: 1.2rem;}
.lowerpage#about #mission-value .shelf hgroup img { width: 28%;}
.lowerpage#about #mission-value .shelf .txt { }
.lowerpage#about #mission-value p.abbr { font-size: 1.5rem; margin-bottom: 1.5rem;}
.lowerpage#about .mat#values { padding: 11rem 1.5rem 1.5rem; margin-top: 3rem; position: relative;}
.lowerpage#about .mat#values .unit:nth-of-type(1) { margin: 0 0 2rem;}
.lowerpage#about .mat#values .unit img { width: 3.6rem;}
.lowerpage#about .mat#values .shelf .unit { margin: 2rem 0 0; }
.lowerpage#about .mat#values .shelf .unit:nth-of-type(2) { margin-top: 2rem;}
.lowerpage#about .mat#values .shelf figure { width: 24%; position : absolute; top: 1.5rem; left: 38%; }
.lowerpage#about .mat#values .shelf .unit:nth-of-type(1) img { width: 4.4rem; margin: 0;}
.lowerpage#about .mat#values .shelf .unit:nth-of-type(2) img { width: 5.7rem;}
.lowerpage#about .mat#values .unit p:nth-of-type(1) { font-weight: 500; font-size: 1.2rem; margin: .5em 0 0;}
.lowerpage#about .mat#values .unit p:nth-of-type(2) { text-align:left;}

.lowerpage#numbers .mat { padding: 1.8rem;}
.lowerpage#numbers .mat .unit:not(:last-of-type) { margin-bottom: 1.5rem;}
.lowerpage#numbers .mat .unit p.ttl { width: 40%; font-size: 2rem; margin-top: 4rem;}
.lowerpage#numbers .mat .unit p.num { font-size: 3.5rem; }
.lowerpage#numbers .mat .unit p.num  strong { font-size: 6.2rem;}
.lowerpage#numbers .mat .unit:nth-of-type(n+5) p.ttl { margin-top: 0.5rem;}
.lowerpage#numbers .mat .unit:nth-of-type(n+5) p.num { font-size: 2rem; letter-spacing: -0.05em;}
.lowerpage#numbers .mat .unit:nth-of-type(n+5) p.num  strong { font-size: 5.3rem;}
.lowerpage#numbers .mat .unit p.mid { font-size: 1.1rem; margin-top:.75em;}
.lowerpage#numbers .mat .unit p.small { font-size: .8rem}

.lowerpage#industry .shelf.product p:nth-of-type(1) { font-size: 1.4rem;}
.lowerpage#industry section#corporate_future { padding-bottom: 0;}
.lowerpage#industry section#corporate_future figure img { width: 80%; margin-top: 2.5rem;}
.lowerpage#industry section#main_business { padding-top: 4rem;}
.lowerpage#industry section#taskporta { padding: 2rem 0;}

.lowerpage.about#organization section figure { margin: 2rem 0;}
.lowerpage.about#organization section figure img { width: 90%;}
.lowerpage.about#organization section#career_map figure img { width: 80%;}
}/*


/* --- SERVICE --- */
.lowerpage.service #head { background-image: url(../../service/assets/images/main.jpg); }
.lowerpage#service .logo_mover { font-size: 0; overflow: hidden; margin: 2rem 0;}
.lowerpage#service .logo_mover .container { display: flex; width: 240rem; }
.lowerpage#service .logo_mover.animation .container { animation: infinity-scroll-left 40s infinite linear 0.5s both;}
.lowerpage#service .logo_mover ul { display:flex; align-items: center; width: 60rem;}
.lowerpage#service .logo_mover ul li { display inline-block; width: 12rem; text-align: center;}
.lowerpage#service .logo_mover ul li:nth-of-type(1) img { vertical-align: middle;}
.lowerpage#service .logo_mover ul li:nth-of-type(1) img { width: 78.3%;}
.lowerpage#service .logo_mover ul li:nth-of-type(2) img { width: 53.3%;}
.lowerpage#service .logo_mover ul li:nth-of-type(3) img { width: 80.8%;}
.lowerpage#service .logo_mover ul li:nth-of-type(4) img { width: 75.8%;}
.lowerpage#service .logo_mover ul li:nth-of-type(5) img { width: 70.8%;}

.lowerpage#service p.sub { text-align: center; }
.lowerpage#service .shelf.product .txt-box p:nth-of-type(3) { font-weight: 400;}
.lowerpage#service .shelf.product:nth-of-type(1) .txt-box p img {width: 53.8%;}
.lowerpage#service .shelf.product:nth-of-type(2) .txt-box p img {width: 53.8%;}
.lowerpage#service .shelf.product:nth-of-type(3) .txt-box p img {width: 39.3%;}
.lowerpage#service .shelf.product:nth-of-type(4) .txt-box p img {width: 33.7%;}

.lowerpage .logobox { background-color: #eaeaea; aspect-ratio: 544 / 316; display: flex; align-items: center; justify-content: center;}
.lowerpage#service .unit:nth-of-type(1) .logobox img { width: 31.4%;}
.lowerpage#service .unit:nth-of-type(2) .logobox img { width: 57.4%}
.lowerpage#service .unit:nth-of-type(3) .logobox img { width: 41.2%;}
.lowerpage#service .unit:nth-of-type(4) .logobox img { width: 38%;}
.lowerpage#service #partners .logo_group .unit p:nth-of-type(1) { color: #004FA3; font-weight: 600;}

@keyframes infinity-scroll-left {
from {transform: translateX(0);}
to {transform: translateX(-50%);}
}

.lowerpage#service .shelf.product .txt-box { text-align: left;}
@media only screen and (min-width: 768px) {
.lowerpage#service section:not(:last-of-type) { padding-bottom: 2rem;}
.lowerpage#service section#service_introduction p:first-of-type { text-align: center; margin-top: -1rem;}
.lowerpage#service section#service_introduction p.note { text-align: right; margin-top: 2rem;}
.lowerpage#service h2 { font-size: 1.8rem;}
.lowerpage#service .shelf.product { padding: 3rem 0;}
.lowerpage#service .shelf.product .txt-box { padding-top: 0;}
.lowerpage#service .shelf.product .txt-box p:nth-of-type(1) { margin-bottom: 2rem;}
.lowerpage#service .shelf.product .txt-box p:nth-of-type(2) { font-size: 1.3rem; margin-bottom: 1rem;}
.lowerpage#service .shelf.product .txt-box p:nth-of-type(3) { font-size: .8rem; line-height: 1.8; margin-right: 6%;}
.lowerpage#service .shelf.product .txt-box a.readmore { margin-top: 2rem;}
.lowerpage#service #partners .logo_group { width: 100%; display: grid; grid-template-columns: 47.5% 47.5%; gap: 4rem 5%; margin-top: 3rem;}
.lowerpage#service #partners .logo_group .unit p:nth-of-type(1) { font-size: 1.3rem; margin-top: .5em;}
.lowerpage#service #partners .logo_group .unit p:nth-of-type(2) { text-align: justify; margin-top: 1em;}
.lowerpage#service #partners .logo_group .unit a.readmore { margin-top: 1.5rem;}

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

@media only screen and (max-width: 767px) {
.lowerpage#service section#service_introduction p.note { text-align: center; margin-top: 2rem;}
.lowerpage#service section p.sub { text-align: left;}
.lowerpage#service .shelf.product .txt-box { margin-top: 1.5rem;}
.lowerpage#service .shelf.product p:nth-of-type(2) { margin: 1em 0; font-size: 1.3rem;}
.lowerpage#service .shelf.logo_group .unit { margin-top: 3rem;}
.lowerpage#service .shelf.logo_group .unit .txt-box { position: relative; padding: 1rem 0 0;}
.lowerpage#service .shelf.logo_group .unit .txt-box .readmore { position: absolute; right: 0; top: 1.25rem;;}
.lowerpage#service section .shelf.logo_group .unit .txt-box p:nth-of-type(1) { font-size: 1.4rem; margin-bottom: .5em;}
}/* --- sp --- */


/* --- COMPANY --- */
.lowerpage.company #head { background-image: url(../../company/assets/images/main.jpg); }
.lowerpage.company .shelf.selector .unit a .inner.bg.overlay { background-color: transparent; opacity: 0.5;}
.lowerpage.company .shelf.selector .unit a.sel .inner.bg.overlay { background-color: #004FA3;}
.lowerpage.company .float .shelf.selector .unit img { display: none;}
.lowerpage.company .float .shelf.selector .unit a.sel .inner.bg.overlay { display: none;}
.lowerpage.company h2:not(.recruit) { border-bottom: 1px solid #636363; padding-bottom: 0.5em; margin-bottom: 0; text-align: left;}
.lowerpage.company h2.recruit { color: #fff; font-size: 1.2rem;}
.lowerpage.company #outline hgroup { margin-bottom: 0;}
.lowerpage#company #outline dl { display: flex; width: 100%; border-bottom: 1px solid #ccc; font-weight: 600;}
.lowerpage#company #outline dl span { display: inline-block; width: 3em;}
.lowerpage#company #outline #map iframe { display: block width: 100%; height: 100%;}
.lowerpage#company #access .txt-box p:nth-of-type(1) { color: #004FA3; font-weight: 600; line-height: 1.4;}

.lowerpage#officers #gledge_officers .shelf .unit figure img { aspect-ratio: 442/ 259;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(1) { font-weight: 600; color: #004FA3; margin: 1em 0 .5em;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(1) span { display: block; color: #636363;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(2) { text-align: justify;}

.lowerpage#history hgroup { margin-bottom: 0;}
.lowerpage#history .unit .box { background-color: #eaeaea; aspect-ratio: 522 / 303; background-repeat: no-repeat; background-position: center 1.5rem; text-align: center; position: relative;}
.lowerpage#history .unit .box img { width: 25%; position: absolute; left: 37.5%; bottom: 10%;}
.lowerpage#history .unit .box p,.lowerpage#history .unit .box p strong { font-weight: 700;}
.lowerpage#history .unit .box p{ margin-right: 0.05em; line-height: 1.2;}
.lowerpage#history .unit .box p span:nth-of-type(1) { display: block;}
.lowerpage#history .unit .box p span:nth-of-type(2) { color: #004FA3;}
.lowerpage#history .unit .txt-box p:nth-of-type(1) { color: #004FA3; line-height: 1; margin-bottom: .5em;}
.lowerpage#history .unit .txt-box p:nth-of-type(2) { padding-left: 3em;}
.lowerpage#history .unit .txt-box p:nth-of-type(2) span { display: inline-block; width: 3em; margin-left: -3em;}
.lowerpage#history .unit:nth-of-type(1) .box { display: flex; justify-content: center; align-items: center;}
.lowerpage#history .unit:nth-of-type(1) .box img { position: static; width: 58.8%; height: auto;}
.lowerpage#history .unit:nth-of-type(2) .box { background-image: url(../../company/assets/images/pct_users_02.svg); background-size: 28.2% auto;}
.lowerpage#history .unit:nth-of-type(3) .box { background-image: url(../../company/assets/images/pct_users_03.svg); background-size: 32.4% auto;}
.lowerpage#history .unit:nth-of-type(4) .box { background-image: url(../../company/assets/images/pct_users_04.png); background-size: 50.7% auto;}
.lowerpage#history .unit:nth-of-type(5) .box { background-image: url(../../company/assets/images/pct_users_05.svg); background-size: 48.9% auto;}
.lowerpage#history .unit:nth-of-type(6) .box { background-image: url(../../company/assets/images/img04.jpg); background-size: cover; background-position: center center;}
.lowerpage#history .unit:nth-of-type(6) .box p,
.lowerpage#history .unit:nth-of-type(6) .box p span { color: #fff;}
@media only screen and (min-width: 768px) {
.lowerpage.company .shelf.selector { justify-content: center;}
.lowerpage.company .shelf.selector .unit:nth-of-type(1){ margin:0 0 0 11%;}
.lowerpage.company .shelf.selector .unit:nth-of-type(2){ margin:0 4%; }
.lowerpage.company .shelf.selector .unit:nth-of-type(3){ margin:0 11% 0 0; }
.lowerpage.company h2 { font-size: 1rem;}
.lowerpage#company section#outline { padding-bottom: 2rem;}
.lowerpage#company #outline dd,.lowerpage#company #outline dt { font-size: 1rem; line-height: 3;}
.lowerpage#company #outline dd { width: 25%;}
.lowerpage#company #outline dt { width: 75%;}
.lowerpage#company #outline figure { margin-top: 3rem;}
.lowerpage#company #access .shelf { display: flex; justify-content: space-between; width: 100%; height: 23.5rem; }
.lowerpage#company #access .shelf #map,
.lowerpage#company #access .shelf figure { height: 100%;}
.lowerpage#company #access .shelf #map { width: 63%;}
.lowerpage#company #access .shelf figure { width: 30.8%;}
.lowerpage#company #access .txt-box p:nth-of-type(1) { margin: 1.25em 0 0; font-size: 1.35rem; }
.lowerpage#company #access .txt-box p:nth-of-type(2) { font-size: 1rem; margin-top: .5em; font-size: 1rem;}

.lowerpage#officers #gledge_officers .shelf { display: grid; width: 84%; margin: 0 auto; grid-template-columns : 47% 47%; gap: 4rem 6%;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(1) { font-size: 1.3rem;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(1) span { font-size: 1rem;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(2) { font-size: 1rem;}

.lowerpage#history #our_history .shelf { width: 100%; }
.lowerpage#history #our_history .shelf .unit { display: flex; justify-content: space-between; }
.lowerpage#history .unit .img-box { border-right: 1px solid #636363; box-sizing: border-box;}
.lowerpage#history #our_history .shelf .unit .img-box,
.lowerpage#history #our_history .shelf .unit .txt-box { width: 50%; padding: 3rem 0 0;}
.lowerpage#history #our_history .shelf .unit:last-of-type .img-box,
.lowerpage#history #our_history .shelf .unit:last-of-type .txt-box { padding-bottom: 3rem;}
.lowerpage#history #our_history .shelf .unit .img-box .box { width: 90%;}
.lowerpage#history #our_history .shelf .unit .img-box .box p { font-size: 2rem; padding-top: 3rem;}
.lowerpage#history #our_history .shelf .unit .img-box .box p span:nth-of-type(1) { font-size: 1rem;}
.lowerpage#history #our_history .shelf .unit .img-box .box p strong { font-size: 3.5rem;}
.lowerpage#history #our_history .shelf .unit .txt-box p { margin-left: 2rem;}
.lowerpage#history #our_history .shelf .unit .txt-box p:nth-of-type(1) { font-size: 2.4rem;}
.lowerpage#history #our_history .shelf .unit .txt-box p:nth-of-type(2) { font-size: 1rem;}

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

@media only screen and (max-width: 767px) {
.lowerpage#company section#outline { padding-bottom: 2rem;}
.lowerpage#company #outline dd,.lowerpage#company #outline dt { font-size: 1rem; padding: 1em 0;}
.lowerpage#company #outline dd { width: 25%;}
.lowerpage#company #outline dt { width: 75%;}
.lowerpage#company #outline figure { margin-top: 3rem;}
.lowerpage#company #access .shelf #map { aspect-ratio: 1 / 1;}
.lowerpage#company #access .shelf figure { display: none;;}
.lowerpage#company #access .txt-box p:nth-of-type(1) { margin: 1.25em 0 0; font-size: 1.35rem; }
.lowerpage#company #access .txt-box p:nth-of-type(2) { font-size: 1rem; margin-top: .5em; background-image: url(../../company/assets/images/img02.jpg); background-repeat: no-repeat; background-size: 30% auto; background-position: right bottom; }

.lowerpage#officers #gledge_officers .shelf:first-of-type {margin-top: -.5rem;}
.lowerpage#officers #gledge_officers .shelf .unit:not(last-of-type) { margin-bottom: 3rem;}
.lowerpage#officers #gledge_officers .shelf .unit .img-box { margin: 0 0 1rem;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(1) { font-size: 1.4rem;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(1) span { font-size: 1rem;}
.lowerpage#officers #gledge_officers .shelf .unit p:nth-of-type(2) { font-size: 1rem;}
.lowerpage#officers #recruit h2.recruit { color: #fff; font-size: 1.3rem;}

.lowerpage#history #our_history .shelf .unit .img-box { width: 60%; margin: 3rem auto 0;}
.lowerpage#history #our_history .shelf .unit .img-box .box p { font-size: 1.5rem; padding-top: 1em;}
.lowerpage#history #our_history .shelf .unit .img-box .box p span:nth-of-type(1) { font-size: 1rem;}
.lowerpage#history #our_history .shelf .unit .img-box .box p strong { font-size: 1.9rem; line-height: 1.4;}
.lowerpage#history #our_history .shelf .unit .txt-box p:nth-of-type(1) { font-size: 1.5rem; font-weight: 600;}
.lowerpage#history #our_history .shelf .unit .txt-box p:nth-of-type(2) { font-size: 1rem;}
}/* --- sp --- */


/* --- NEWS --- */
.lowerpage.news #head { background-image: url(../../news/assets/images/main.jpg); }
.lowerpage.news section hgroup { text-align: left;}
.lowerpage.news section .shelf.article figure { background-color: #d9d9d9; aspect-ratio: 1129 / 546;}
.lowerpage.news a.gotop { display: block; background-color: #004fa3; color: #fff; font-weight: 600; text-align: center; line-height: 3; width: 15em; margin: 0 auto;}

@media only screen and (min-width: 768px) {
.lowerpage.news section hgroup { margin-bottom: 2rem;}
.lowerpage.news section h2 { font-size: .8rem;}
.lowerpage.news .shelf.selector.news.table { margin: 3.5rem 0 0;}
.lowerpage.news .shelf.selector.news.table:first-of-type { margin-top: 1rem;}
.lowerpage.news .shelf.selector.news.table .unit { aspect-ratio: 300 / 190; }
.lowerpage.news .shelf.selector.news .txt-box { width: 74%;}
.lowerpage.news .shelf.selector.news .txt-box p.sub { font-weight: 600; font-size: .8rem; margin-bottom: 2rem;}
.lowerpage.news .shelf.selector.news .txt-box p.sub strong { font-size: .7rem; margin-bottom: .2em;}
.lowerpage.news .shelf.selector.news .txt-box p.sub strong span.date { font-size: .65rem; color: #636363; font-weight: 400; margin-left: .75rem;}
.lowerpage.news section .shelf.article { margin-bottom: 4rem;}
.lowerpage.news section .shelf.article p.sub { margin-top: 1.5em;}
.lowerpage.news a.gotop { font-size: .8rem;}
.lowerpage.news section#news_icons { padding-top: 2rem;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lowerpage.news .shelf.selector.news.table { grid-template-columns: 33% 61%;}
.lowerpage.news .shelf.selector.news.table .unit .inner.press p { font-size: .8rem;}
.lowerpage.news .shelf.selector.news.table .txt-box p.sub strong { font-size: 1.2rem; margin-bottom: .2em;}
.lowerpage.news .shelf.selector.news.table .txt-box p.sub strong span.date { font-size: 1rem; color: #636363; font-weight: 400; margin-left: .75rem;}
.lowerpage.news .shelf.selector.news.table .txt-box .readmore { margin: 0.5rem 0 0 auto;}

.lowerpage.news section .shelf.article { margin-bottom: 4rem;}
.lowerpage.news section .shelf.article p.sub { margin-top: 1.5em;}
.lowerpage.news a.gotop { font-size: .8rem;}
.lowerpage.news section#news_icons { padding-top: 2rem;}
}/* --- sp --- */



/* --- POLICY --- */
.lowerpage.policy #head { background-image: url(../../policy/assets/images/main.jpg); }
.lowerpage.policy hgroup { text-align: left;}
.lowerpage.policy section .mat { background-color: #EBEBEB;}
.lowerpage.policy section .ttl { color: #004FA3; font-weight: 600; margin-bottom: 0.25em;}
.lowerpage.policy section .mat a { color: #004FA3; text-decoration: underline;}
.lowerpage.policy section .shelf li span.ttl { display: inline-block; width: 8em;}
.lowerpage.policy section table { width: 100%; border-collapse: collapse; font-weight: 400; }
.lowerpage.policy section th,
.lowerpage.policy section td { border: 1px solid #636363; padding: 0.25rem 0.5rem;}
.lowerpage.policy section th { width: 17%; background-color: #7c7b7c; color: #fff; text-align: center; line-height: 3; border-top: none; }
.lowerpage.policy section th:nth-of-type(n+5) { width: 16%; }
.lowerpage.policy section tr td { text-align: left; vertical-align: top;}
.lowerpage.policy section tr td.link { vertical-align: middle; text-align: center;}
.lowerpage.policy section tr td a { display: inline-block; padding: 0.5rem;}

@media only screen and (min-width: 768px) {
.lowerpage.policy section { text-align: left;}
.lowerpage.policy section .mat { padding: 3rem;}
.lowerpage.policy section .ttl { font-size: 1.3rem;}
.lowerpage.policy section p.sub { margin-bottom: 4rem;}
.lowerpage.policy section dd.ttl { margin: 2rem 0 0.5em;}
.lowerpage.policy section .mat dt { font-size: .8rem;}
.lowerpage.policy section .mat p.sign { text-align: right; font-size: .8rem; margin-top: 5rem;}
.lowerpage.policy section .shelf ul { display: block; margin: 3rem 0 4rem; padding-left: 37.5%; background-repeat: no-repeat; background-image: url(../images/foot_logo1.png);  background-size: 24.4% auto; background-position: left top; }
.lowerpage.policy section .shelf li { margin: 1em 0;}
.lowerpage.policy section .shelf li,
.lowerpage.policy section .shelf li span.ttl { font-size: 1rem;}
.lowerpage.policy #information_security_policy .mat dl { margin: -1rem 0 1rem;}
.lowerpage.policy section#cookie_policy p.ttl { margin-bottom: 1em;}
.lowerpage.policy section table { font-size: .7rem;  margin: 2rem 0 4rem;}
.lowerpage.policy section table a img { width: 1rem;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lowerpage.policy section { text-align: left;}
.lowerpage.policy section .mat { padding: 1rem;}
.lowerpage.policy section .ttl { font-size: 1.3rem; margin-bottom: .5rem;}
.lowerpage.policy section p.sub { margin-bottom: 3rem;}
.lowerpage.policy section dd.ttl { margin: 2rem 0 0.5em;}
.lowerpage.policy #information_security_policy .mat dl { margin: -1rem 0 1rem;}
.lowerpage.policy #information_security_policy ul { margin: 1rem 0 3rem;}
.lowerpage.policy #information_security_policy li { display: flex; justify-content:space-between;}
.lowerpage.policy #information_security_policy li span:nth-of-type(1) { font-size: 1.1rem; width: 7em;}
.lowerpage.policy #information_security_policy li span:nth-of-type(2) { width: calc(100% - 8.8rem); text-align: left;}
.lowerpage.policy section#cookie_policy .flame { overflow-y: scroll;}
.lowerpage.policy section table { font-size: .9rem;  margin: 2rem 0 3rem; width: 50rem;}
.lowerpage.policy section th,
.lowerpage.policy section td { padding: 0.5rem;}
.lowerpage.policy section table a img { width: 1rem;}
}/*




/* --- CONTACT --- */
.lowerpage#contact #head { background-image: url(../../contact/assets/images/main.jpg);}

.lowerpage#contact #contact_form button { border: none;}
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex input[type="text"],
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex textarea { width: 100%; background-color: #f3f3f3; border: 1px solid #999; box-sizing: border-box;}
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex textarea { min-height: 10em;}
.lowerpage#contact #contact_form select {  border: 1px solid #999; }
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex .zf-nameWrapper { display: flex;}
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex .zf-nameWrapper span { display: block; width: 47%;}
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex .zf-nameWrapper span:nth-of-type(1) { margin-right: 6%;}
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex label { font-weight: 700;}
.lowerpage#contact #contact_form .zf-important { color: #E83819; font-size: 1.2rem;}
.lowerpage#contact #contact_form .zf-tempContDiv { width: 100%; margin-bottom: 2rem;}
.lowerpage#contact #contact_form .zf-checkbox label, .zf-note { display: inline-block; font-weight: 500; }
.lowerpage#contact #contact_form span.policy a { color: #004FA3; text-decoration: underline;}
.lowerpage#contact #contact_form button.zf-submitColor { display: block; background-color: #004FA3; color: #fff; line-height: 2.8; border-radius: 1.4em; font-weight: 600; width: 16em;}

.lowerpage#contact section#thanks { text-align: center; background-repeat: no-repeat; background-image: url(../../contact/assets/images/contact_email.svg);}
.lowerpage#contact section#thanks a { color: #004FA3; font-weight: 700; }

@media only screen and (min-width: 768px) {
.lowerpage#contact #contact_form h2 { margin-bottom: 3rem;}
.lowerpage#contact section p { font-size: .8rem;}
.lowerpage#contact #contact_form input,
.lowerpage#contact #contact_form select,
.lowerpage#contact #contact_form option { font-size: 0.9rem; line-height: 2; padding: 0.4rem 0.6rem; }
.lowerpage#contact #contact_form select { padding: 0.6rem 0.6rem;}

.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex { width: 100%; display: flex; justify-content: space-between;}
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex label { display: inline-block; width: 30%; }
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex .zf-tempContDiv { width: 75%;}
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex textarea { font-size: 0.8rem; line-height: 2; padding: 0.4rem 0.6rem; margin-bottom: 1.5rem;}
.lowerpage#contact #contact_form label  { font-size: 1.1rem;}
.lowerpage#contact #contact_form .zf-checkbox label.zf-labelName { margin: 1.5em 0 0.7em;}
.zf-note { margin-top: 1.5rem;}
.lowerpage#contact #contact_form .zf-checkbox input[type="checkbox"] { display: inline-block; width: 1.5rem; height: 1.5rem; vertical-align: middle; margin: 0 0.5rem;}
.lowerpage#contact #contact_form button.zf-submitColor { font-size: .9rem; margin: 5rem auto 3rem;}

.lowerpage#contact section#thanks { padding: 11rem 0 5rem; background-size: 4.8rem auto; background-position: center 4rem;}
.lowerpage#contact section#thanks h2 { margin-bottom: 2em;}
.lowerpage#contact section#thanks p.note { font-size: .7rem;}
.lowerpage#contact section#thanks p:nth-of-type(2) { margin: 3rem 0 1.25rem;}
.lowerpage#contact section#thanks a { font-size: 1.8rem; margin-bottom: 0.25rem;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lowerpage#contact #contact_form label { display: inline-block; font-size: 1.1rem; margin-bottom: .5rem;}
.lowerpage#contact #contact_form input,
.lowerpage#contact #contact_form select,
.lowerpage#contact #contact_form option { font-size: 1.2rem; line-height: 2; padding: 0.2rem 0.4rem; }
.lowerpage#contact #contact_form .zf-tempFrmWrapper.flex textarea { font-size: 1.2rem; line-height: 1.6; padding: 0.2rem 0.4rem; margin-bottom: 1.5rem;}
.lowerpage#contact #contact_form .zf-checkbox input[type="checkbox"] { display: inline-block; width: 1.5rem; height: 1.5rem; vertical-align: middle; margin: 0 0.5rem;}
.lowerpage#contact #contact_form button.zf-submitColor { font-size: 1.2rem; margin: 5rem auto 3rem;}

.lowerpage#contact section#thanks { padding: 11rem 5% 5rem; background-size: 4.8rem auto; background-position: center 4rem;}
.lowerpage#contact section#thanks h2 { margin-bottom: 2em;}
.lowerpage#contact section#thanks p.note { font-size: .9rem;}
.lowerpage#contact section#thanks p:nth-of-type(1) { text-align: left;}
.lowerpage#contact section#thanks p:nth-of-type(2) { margin: 4rem 0 1.25rem;}
.lowerpage#contact section#thanks a { font-size: 1.8rem; margin-bottom: 0.25rem;}
}/* --- sp --- */


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

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