@charset "utf-8";

/* index
---------------------------------------------*/
.index .category-list               { position: relative; padding: 40px 0 100px; }
.index .category-list:nth-child(2n) { background: #f3f9fb; }
.index .category-list h3            { position: absolute; top: 0; left: 0; width: 100%; padding-top: 35px; margin-bottom: 30px; text-align: center; }
.index .category-list h3:before     { content: ""; position: absolute; top: 0; left: 50%; width: 300px; height: 4px; margin-left: -150px; background: #215981; }
.index .category-list li a          { display: block; position: relative; }
.index .category-list li figure img { width: 100%; }
.index .category-list li dt         { display: inline-block; position: relative; margin: 20px 0 10px; padding-right: 38px; color: #215981; font-size: 2.4rem; font-weight: bold; }
.index .category-list li dt:after   { content: ""; position: absolute; top: 50%; right: 0; width: 28px; height: 28px; margin-top: -14px; background: url("/assets/images/i_ar_blue.png"); background-size: cover; }
.index .category-list li dd         { line-height: 1.75; }

/* greeting
---------------------------------------------*/
.greeting .content section { margin-top: 60px; }

.greeting h2       { position: relative; margin-bottom: 45px; padding-bottom: 5px; border-bottom: 2px solid #ccc; color: #333; font-size: 3rem; font-weight: bold; }
.greeting h2:after { content: ""; position: absolute; bottom: -2px; left: 0; width: 200px; height: 2px; background: #0a4774; }

.greeting .vision-inner { display: table; }
.greeting .vision h3,
.greeting .vision .lead { display: table-cell; vertical-align: middle; }
.greeting .vision h3    { padding-right: 60px; }
.greeting .vision .lead { padding-left: 60px; }

.greeting .greet             { margin-top: 100px; font-size: 1.6rem; }
.greeting .greet .inner:after{ content: ""; display: block; clear: both; height: 0; }
.greeting .greet-inner       { float: right; width: 814px; }
.greeting .greet figure      { float: left; width: 408px; text-align: center; }
.greeting .greet figcaption  { margin-top: 15px; }
.greeting .greet h3          { margin-bottom: 10px; color: #215981; font-size: 3rem; line-height: 1.25; }
.greeting .greet p           { margin-top: 2em; line-height: 2; letter-spacing: 1px; }

/* strength
---------------------------------------------*/
.strength .content { margin-top: 60px; }

.strength h2       { position: relative; margin-bottom: 45px; padding-bottom: 5px; border-bottom: 2px solid #ccc; color: #333; font-size: 3rem; font-weight: bold; }
.strength h2:after { content: ""; position: absolute; bottom: -2px; left: 0; width: 200px; height: 2px; background: #0a4774; }

.strength .concept-inner { display: table; margin-bottom: 60px; }
.strength .concept h3,
.strength .concept .lead { display: table-cell; vertical-align: middle; }
.strength .concept h3    { padding-right: 60px; }
.strength .concept .lead { padding-left: 60px; }

.strength .category-list               { position: relative; padding: 120px 0 100px; font-size: 1.8rem; line-height: 2; }
.strength .category-list:nth-child(2n) { background: #f3f9fb; }
.strength .category-list h3            { position: absolute; top: 0; left: 0; width: 100%; padding-top: 35px; margin-bottom: 30px; text-align: center; }
.strength .category-list h3:before     { content: ""; position: absolute; top: 0; left: 50%; width: 300px; height: 4px; margin-left: -150px; background: #215981; }
.strength .category-list h4            { margin-bottom: 10px; color: #18b6d1; font-size: 2.2rem; font-weight: bold; line-height: 1.5; }
.strength .category-list figure        { margin-top: 30px; text-align: center; }
.strength .category-list figure img    { max-width: 100%; }

/* profile
---------------------------------------------*/
.profile .content section             { margin-top: 80px; font-size: 1.6rem; }
.profile .content section:first-child { margin-top: 60px; }

.profile h2       { position: relative; margin-bottom: 45px; padding-bottom: 5px; border-bottom: 2px solid #ccc; color: #333; font-size: 3rem; font-weight: bold; }
.profile h2:after { content: ""; position: absolute; bottom: -2px; left: 0; width: 200px; height: 2px; background: #0a4774; }

.profile .table                 { display: table; width: 100%; margin-top: 20px; }
.profile .table dl              { display: table-row; }
.profile .table dl dt           { display: table-cell; width: 15em; padding: 20px 15px; border-top: 1px solid #0a4774; text-align: left; vertical-align: middle; }
.profile .table dl dd           { display: table-cell; padding: 20px; border-top: 1px solid #ccc; text-align: left; vertical-align: middle; }
.profile .table dl:last-child dt{ border-bottom: 1px solid #0a4774; }
.profile .table dl:last-child dd{ border-bottom: 1px solid #ccc; }

.profile .network .ofiicemap    { margin: 20px 0 40px; text-align: center; }
.profile .network dd a          { position: relative; }
.profile .network dd a:after    { content: ""; position: absolute; top: 50%; right: -18px; width: 14px; height: 14px; margin-top: -7px; background: url("/assets/images/i_ar_blue.png"); background-size: cover; }

.profile .history .tableWrap:after      { content: ""; display: block; clear: both; height: 0; }
.profile .history .table                { float: left; width: 940px; }
.profile .history figure                { float: right; width: 300px; }
.profile .history figure li             { margin-top: 30px; }
.profile .history figure li:first-child { margin-top: 20px; }
.profile .history figure li img         { width: 100%; }

.profile .maker ul              { list-style: disc; margin-left: 1.5em; }
.profile .maker ul:after        { content: ""; display: block; clear: both; height: 0; }
.profile .maker li              { float: left; width: calc((100% - 57px) / 3); margin: 10px 28px 0 0; }
.profile .maker li:nth-child(1),
.profile .maker li:nth-child(2),
.profile .maker li:nth-child(3) { margin-top: 0; }
.profile .maker li:nth-child(3n){ margin-right: 0; }
.profile .maker ul + p          { margin-top: 20px; text-align: right; }

@media (max-width: 767px) {
/* index
---------------------------------------------*/
.index .category-list             { padding: 0 0 50px; }
.index .category-list h3          { position: relative; margin-bottom: 17px; padding-top: 15px; }
.index .category-list li figure,
.index .category-list li dl       { float: none; width: auto; }
.index .category-list li dl       { margin-top: 15px; }
.index .category-list li dt       { margin: 0 0 5px; padding-right: 30px; font-size: 1.8rem; }
.index .category-list li dt:after { width: 20px; height: 20px; margin-top: -11px; }

/* greeting
---------------------------------------------*/
.greeting .content section { margin-top: 0; padding-top: 20px; }

.greeting h2       { margin-bottom: 20px; border-width: 1px; font-size: 2rem; }
.greeting h2:after { bottom: -1px; width: 130px; height: 1px; }

.greeting .vision-inner,
.greeting .vision h3,
.greeting .vision .lead { display: block; }
.greeting .vision h3    { padding-right: 0; }
.greeting .vision .lead { padding-left: 0; }

.greeting .greet               { margin-top: 50px; }
.greeting .greet-inner,
.greeting .greet figure        { float: none; width: auto; margin-top: 20px; }
.greeting .greet figure img    { width: 266px; }
.greeting .greet figcaption    { margin-top: 10px; }
.greeting .greet figcaption img{ width: 212px; }
.greeting .greet h3            { margin-bottom: 5px; font-size: 2.1rem; }
.greeting .greet p             { font-size: 1.4rem; letter-spacing: normal; }

/* strength
---------------------------------------------*/
.strength .content { margin-top: 0; }

.strength h2       { margin-bottom: 20px; border-width: 1px; font-size: 2rem; }
.strength h2:after { bottom: -1px; width: 130px; height: 1px; }

.strength .concept       { margin-bottom: 40px; }
.strength .concept-inner { margin-bottom: 0; }
.strength .concept-inner,
.strength .concept h3,
.strength .concept .lead { display: block; }
.strength .concept h3    { padding-right: 0; }
.strength .concept .lead { padding-left: 0; }

.strength .content .category-list  { padding: 0 0 50px; font-size: 1.4rem; }
.strength .category-list section   { padding-top: 0; }
.strength .category-list h3        { position: relative; margin-bottom: 17px; padding-top: 15px; }
.strength .category-list h3:before { width: 150px; margin-left: -75px; }
.strength .category-list h4        { margin: 0 0 15px; font-size: 1.8rem; }

/* profile
---------------------------------------------*/
.profile .content section             { margin-top: 40px; font-size: 1.4rem; }
.profile .content section:first-child { margin-top: 0; }

.profile h2       { margin-bottom: 20px; border-width: 1px; font-size: 2rem; }
.profile h2:after { bottom: -1px; width: 130px; height: 1px; }

.profile .table dl dt { width: 9.5em; padding: 10px; }
.profile .table dl dd { padding: 10px; }

.profile .network .ofiicemap    { display: none; }
.profile .network dd a:after    { right: -18px; width: 14px; height: 14px; margin-top: -7px; }

.profile .history .table,
.profile .history figure                { float: none; width: auto; }
.profile .history figure li             { margin-top: 20px; }
.profile .history figure li:first-child { margin-top: 30px; }

.profile .maker li              { float: none; width: auto; margin: 10px 0 0; }
.profile .maker li:nth-child(2),
.profile .maker li:nth-child(3) { margin-top: 10px; }
.profile .maker li:nth-child(3n){ margin-right: 0; }
}
