@charset "utf-8";

/* --------------------------------------------------------------- */

/*
タブレット縦 / スマホ横
@media only screen and (max-width: 896px)
小型スマホ横
@media only screen and (max-width: 568px)
スマホ縦
@media only screen and (max-width: 480px)
小型スマホ縦
@media only screen and (max-width: 320px)
横向き
@media only screen and (orientation:landscape)
*/

/* --------------------------------------------------------------- */

html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {margin: 0;padding: 0;border: 0;font-weight: normal;font-size: 100%;vertical-align: baseline;}
article, header, footer, aside, figure, figcaption, nav, section {display: block;}
body {line-height: 1;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}
ol, ul {list-style: none;list-style-type: none;}
figure {margin: 0;}
button, input[type="submit"] {border: 0 none;background: none;cursor: pointer;outline: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;}
select::-ms-expand {display: none;}
img, input[type="image"] {max-width: 100%;width:auto;height: auto;backface-visibility: hidden;-webkit-backface-visibility: hidden;object-fit: cover;}
a {text-decoration: none;color: #0068b6;}
a:hover, a img:hover, button:hover {opacity: 0.7;filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";transition: all 0.5s ease;}
section {overflow: hidden;}

* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
html {height: 100%;overflow-x: hidden;-webkit-text-size-adjust: 100%;-webkit-overflow-scrolling: touch;overflow-scrolling: touch;font-size: 62.5%;letter-spacing: -0.02em;}
body {background: #fff;font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;font-size: 1.6rem;line-height: 2;color: #161616;}
@media only screen and (max-width: 896px) {body {font-size: 1.4rem;line-height: 1.8;}}

.pc {display: inherit;}
.sp {display: none;}
.inner {width: 100%;max-width: 1200px;margin: auto;}
@media only screen and (min-width: 768px) and (max-width: 896px) {.inner {width: 95%;}}
@media only screen and (max-width: 767px) {.pc {display: none;}.sp {display: block;}.inner {width: 90%;}}
.flex {display: -webkit-box;display: -moz-box;display: -webkit-flexbox;display: -moz-flexbox;display: -ms-flexbox;display: -webkit-flex;display: -moz-flex;display: flex;flex-wrap: wrap;}
.Acenter {position: absolute;top: 50%;left: 50%;margin-right: -50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
.mincho {font-family: "游明朝","Yu Mincho",YuMincho,"Hiragino Mincho Pro",serif;}
.tcent {text-align: center;}

.featherlight {display: none;}
.popmovie {width: 60%;margin: 80px auto 0;overflow: hidden;}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

header {width: 100%;padding: 15px 0;position: fixed;top: 0;z-index: 10;background: #000;}
header #gNav {}
header #gNav #logo {min-width: 250px;margin: 0 auto 0 0;line-height: 0;}
header #gNav ul {align-items: center;}
header #gNav ul li a {padding: 0 20px;position: relative;display: block;transition: .3s;color: #fff;}
header #gNav ul li:last-child {margin: 0 0 0 10px;}
header #gNav ul li:last-child a {border: 1px solid #fff;}
@media only screen and (max-width: 767px) {
#navBtn {height: 50px;position: absolute;top: 7px;right: 10px;}
#navBtn > p {width: 50px;position: relative;}
#navBtn span {width: 80%;height: 3px;position: absolute;left: 10%;display: block;background: #fff;transition: top .5s ease, -webkit-transform .6s ease-in-out;transition: transform .6s ease-in-out, top .5s ease;transition: transform .6s ease-in-out, top .5s ease, -webkit-transform .6s ease-in-out;}
#navBtn span:nth-child(1) {top: 8px;}
#navBtn span:nth-child(2) {top: 21px;}
#navBtn span:nth-child(3) {top: 33px;}
#navBtn:hover span:nth-child(1) {top: 8px;}
#navBtn:hover span:nth-child(3) {top: 33px;}
header {padding: 10px 0;}
header #gNav {width: 100%;}
header #gNav #logo {min-width: 200px;margin: 0 0 0 10px;}
header #gNav ul {padding: 40px 0 50px;position: fixed;top: 58px;left: 0;z-index: 5;visibility: hidden;opacity: 0;text-align: center;background: rgb(0,166,145);
background: linear-gradient(45deg, rgba(0,166,145,1) 9%, rgba(103,161,231,1) 46%, rgba(0,104,182,1) 79%);transition: .3s;}
header #gNav ul li {width: 100%;}
header #gNav ul li:last-child {margin: 10px 0 0;}
.open {overflow: hidden;}
.open #navBtn span {background: #fff;}
.open #navBtn span:nth-child(1) {top: 21px;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.open #navBtn span:nth-child(2) {width: 0;}
.open #navBtn span:nth-child(3) {top: 21px;-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
.open header #gNav ul {visibility: visible;overflow-y: auto;opacity: 1;}
.open header #gNav ul li a {width: 80%;margin: auto;padding: 10px;display: block;}
}

footer {width: 100%;padding: 10px 0;background: #000;color: #fff;line-height: 0;}
footer ul {align-items: center;}
footer ul li:nth-child(1) {width: 50px;margin: 0 20px 0 0;}
footer ul li:nth-child(2) {width: 50px;}
footer ul li:last-child {margin: 0 0 0 auto;}
@media only screen and (max-width: 767px) {
footer ul li:nth-child(1) {width: 30px;margin: 0 10px 0 0;}
footer ul li:nth-child(2) {width: 30px;}
}

#main {}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

#mainVisual {width: 100%;height: 130vh;position: relative;text-align: center;}
#mainVisual h1 {width: 50%;max-width: 700px;position: absolute;top: 30%;left: 50%;z-index: 1;margin-right: -50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
#mainVisual p#mvlogo {width: 250px;position: absolute;top: 48%;left: 50%;z-index: 1;margin-right: -50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
#mainVisual p#scroll {width: 50px;position: absolute;top: 70%;left: 50%;z-index: 1;margin-right: -50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
@media only screen and (max-width: 767px) {
#mainVisual h1 {width: 90%;top: 20%;}
#mainVisual p#mvlogo {width: 150px;top: 30%;}
#mainVisual p#scroll {top: 50%;}
}

.home {background: url("images/mv.jpg") no-repeat 0 0 / cover fixed;}
.home section {padding: 50px 50px 60px;position: relative;background: rgba(255,255,255,1);box-shadow: 0 0 5px #ccc;border-radius: 10px;}
.home section h2 {margin: 0 0 20px;font-size: 3.2rem;font-weight: 600;}
.home section h3 {margin: 0 0 5px;font-size: 2.2rem;font-weight: 600;}
.home section h4 {margin: 20px 0 5px;font-size: 1.8rem;font-weight: 600;}
.home section .movie {width: 100%;padding: 10px;}
@media only screen and (max-width: 767px) {
.home {background: url("images/mv_sp.jpg") no-repeat 0 0 / 100% auto fixed;}
.home section {padding: 40px 20px 50px;}
.home section h2 {font-size: 2.4rem;}
.home section h3 {font-size: 1.8rem;}
.home section h4 {font-size: 1.6rem;}
}

#topInfo {margin: 0 auto 50px;}
#topInfo h2 + p {margin: 0 0 20px;}
#topInfo ul {text-align: center;justify-content: space-between;align-items: center;}
#topInfo ul li {width: 48%;}
#topInfo ul li figure {justify-content: space-between;} 
#topInfo ul li figure img {width: 48%;}
@media only screen and (max-width: 767px) {
#topInfo {margin: 0 auto 70px;}
#topInfo ul li {width: 100%;}
#topInfo ul li figure img {width: 90%;margin: 0 auto 10px;display: block;}
}

#topMovie {margin: 0 auto 50px;}
#topMovie h3 + p {margin: 0 0 20px;}
#topMovie ul {justify-content: space-between;}
#topMovie ul li {width: 48%;text-align: center;}
#topMovie ul li p {font-size: 1.8rem;font-weight: 600;line-height: 0;}
@media only screen and (max-width: 767px) {
#topMovie {margin: 0 auto 70px;}
#topMovie ul li {width: 100%;}
#topMovie ul li:nth-child(1) {margin: 0 0 20px;}
}

#topAbout {margin: 0 auto 50px;}
#topAbout ul {justify-content: space-between;}
#topAbout ul li {width: 48%;}
#topAbout ul li p {margin: 0 0 20px;}
#topAbout ul li p.tcent {font-size: 1.8rem;font-weight: 600;line-height: 0;}
#topAbout ul li em {color: #0068b6;font-style: normal;font-weight: 600;}
#topAbout ul li ol {margin: 0 0 50px;}
#topAbout ul li ol li {width: 100%;margin: 0 0 15px;padding: 0 0 0 1.2em;text-indent: -1.2em;line-height: 1.5;}
#topAbout p#line {margin: 20px auto 0;justify-content: center;align-items: center;background: #E2ECAD;border-radius: 10px;}
#topAbout p#line span {margin: 0 20px;padding: 10px 0;}
#topAbout p#line span:nth-of-type(1) {width: 15%;line-height: 0}
#topAbout p#line span:nth-of-type(2) {width: 15%;line-height: 0}
#topAbout p#line span:nth-of-type(3) {width: 25%;color: #0068b6;font-weight: 600;line-height: 1;}
@media only screen and (max-width: 767px) {
#topAbout {margin: 0 auto 70px;}
#topAbout ul li {width: 100%;}
#topAbout p#line span:nth-of-type(1) {width: 20%}
#topAbout p#line span:nth-of-type(2) {width: 20%;}
#topAbout p#line span:nth-of-type(3) {width: 30%;}
}

#topFeatures {margin: 0 auto 50px;}
#topFeatures ul {justify-content: space-between;}
#topFeatures ul li {width: 48%;}
#topFeatures ul li:nth-child(1) figure {width: 65%;margin: auto;}
#topFeatures ul li:nth-child(2) figure {margin: 30px auto 0;justify-content: space-between;}
#topFeatures ul li:nth-child(2) figure img {width: calc(98% / 2);}
@media only screen and (max-width: 767px) {
#topFeatures {margin: 0 auto 70px;}
#topFeatures ul li {width: 100%;}
#topFeatures ul li:nth-child(1) {margin: 0 0 20px;}
#topFeatures ul li:nth-child(2) figure img {width: calc(100% / 1);}
#topFeatures ul li:nth-child(2) figure img:nth-of-type(1) {margin: 0 0 10px;}
}

#topDrone {margin: 0 auto 50px;}
#topDrone h3 + p {margin: 0 0 20px;}
#topDrone ul {justify-content: space-between;}
#topDrone ul li {width: 48%;}
@media only screen and (max-width: 767px) {
#topDrone {margin: 0 auto 70px;}
#topDrone ul li {width: 100%;}
#topDrone ul li:nth-child(1) {margin: 0 0 20px;}
}

#topBlog {margin: -15% auto 50px;}
#topBlog h2 small {margin: 0 0 0 10px;}
#topBlog h2 small::before {content: "～";}
#topBlog h2 small::after {content: "～";}
#topBlog ul {justify-content: space-between;align-items: center;}
#topBlog ul li:nth-child(1) {width: 70%;}
#topBlog ul li:nth-child(2) {width: 30%;text-align: center;}
#topBlog ul li:nth-child(1) dl {margin: 0 0 20px;justify-content: space-between;align-items: center;}
#topBlog ul li:nth-child(1) dl dt {width: 25%;margin: 0 0 15px;}
#topBlog ul li:nth-child(1) dl dt img {width: 100%;height: 100px;object-fit: cover;}
#topBlog ul li:nth-child(1) dl dd {width: 72%;margin: 0 0 15px;}
#topBlog ul li:nth-child(1) dl dd .date {width: 28%;}
#topBlog ul li:nth-child(1) dl dd a {width: 72%;}
#topBlog ul li:nth-child(1) dl + p {text-align: right;}
#topBlog ul li:nth-child(1) dl + p a {padding: 10px 40px 10px 30px;position: relative;display: inline-block;background: #000;color: #fff;}
#topBlog ul li:nth-child(1) dl + p a::after {content: "";width: 10px;height: 10px;margin: 0 0 0 10px;display: inline-block;transform: rotate(45deg);border: 1px solid;border-color: #fff #fff transparent transparent;}
#topBlog ul li:nth-child(2) img {width: 80%;}
@media only screen and (max-width: 767px) {
#topBlog {margin: -35% auto 70px;}
#topBlog ul li:nth-child(1) {width: 100%;}
#topBlog ul li:nth-child(2) {display: none;}
#topBlog ul li:nth-child(1) dl dt {width: 100%;margin: 0 0 5px;}
#topBlog ul li:nth-child(1) dl dt img {width: 100%;height: 80px;}
#topBlog ul li:nth-child(1) dl dd {width: 100%;}
#topBlog ul li:nth-child(1) dl dd .date {width: 100%;}
#topBlog ul li:nth-child(1) dl dd a {width: 100%;}
#topBlog ul li:nth-child(1) dl + p {text-align: center;}
}

#topSDGs {margin: 0 auto 100px;}
#topSDGs ul {justify-content: space-between;}
#topSDGs ul li:nth-child(1) {width: 55%;}
#topSDGs ul li:nth-child(2) {width: 42%;padding: 30px 30px 20px;background: #eee;}
#topSDGs ul li:nth-child(2) p {margin: 0 0 20px;}
#topSDGs ul li:nth-child(2) p small {margin: 10px 0 0;display: block;line-height: 1.5;}
@media only screen and (max-width: 767px) {
#topSDGs {margin: 0 auto 70px;}
#topSDGs ul {margin: 0 auto 30px;}
#topSDGs ul li:nth-child(1) {width: 100%;margin: 0 auto 10px;}
#topSDGs ul li:nth-child(2) {width: 100%;padding: 20px 20px 10px;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

#pageHead {width: 100%;}
#pageHead figure {position: relative;}
#pageHead figure::after {content: "";width: 100%;height: 100%;position: absolute;top: 0;background: rgba(80,123,40,0.20);}
#pageHead figure figcaption {position: absolute;top: 50%;left: 20%;z-index: 1;}
#pageHead figure figcaption h1 {text-align: center;font-size: 3.5rem;font-weight: 600;line-height: 1.3;text-shadow: 0px 3px 10px #fff;}
#pageHead figure figcaption h1 small {margin: 0 auto;display: block;font-size: 1.4rem;}
@media only screen and (max-width: 767px) {
#pageHead figure figcaption {left: 10%;}
#pageHead figure figcaption h1 {font-size: 2.4rem;}
}

.cont section {padding: 50px 50px 60px;position: relative;background: rgba(255,255,255,0.80);box-shadow: 0 0 5px #ccc;border-radius: 10px;}
.cont section h2 {margin: 0 0 20px;font-size: 3.2rem;font-weight: 600;line-height: 1.5;}
@media only screen and (max-width: 767px) {
.cont section {padding: 40px 20px 50px;}
.cont section h2 {font-size: 2.4rem;}
}

#pagesubt {margin: 100px auto 0;}
#pagesubt h2 {font-size: 3.2rem;font-weight: 600;}
@media only screen and (max-width: 767px) {
#pagesubt {margin: 70px auto 0;}
#pagesubt h2 {font-size: 2.4rem;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

#message {margin: 100px auto 50px;}
#message ul {justify-content: space-between;align-items: center;}
#message ul li:nth-child(1) {width: 35%;}
#message ul li:nth-child(2) {width: 60%;}
#message ul li:nth-child(2) h3 {margin: 0 auto 30px;font-weight: 600;}
#message ul li:nth-child(2) p {text-align: right;font-weight: 600;}
@media only screen and (max-width: 767px) {
#message {margin: 70px auto 50px;}
#message ul li:nth-child(1) {width: 70%;margin: auto;}
#message ul li:nth-child(2) {width: 100%;}
}

#outline {margin: 0 auto 50px;}
#outline dl {width: 70%;margin: 20px auto 0;}
#outline dl dt {width: 30%;margin: 0 0 10px;padding: 0 0 5px;border-bottom: 1px solid #ccc;}
#outline dl dd {width: 70%;margin: 0 0 10px;padding: 0 0 5px;border-bottom: 1px solid #ccc;}
@media only screen and (max-width: 767px) {
#outline dl {width: 100%;}
#outline dl dt {width: 100%;margin: 0;padding: 0;border-bottom: 0 none;font-weight: 600;}
#outline dl dd {width: 100%;}
}

#access {margin: 0 auto 100px;}
#access ul {margin: 0 auto 30px;justify-content: space-between;align-items: center;}
#access ul li {width: 49%;margin: 0 0 10px;}
#access iframe {width: 100%;height: 500px;border: 0 none;}
@media only screen and (max-width: 767px) {
#access {margin: 0 auto 70px;}
#access ul li {width: 100%;}
#access iframe {height: 300px;}
}

#gifuchan ul {margin: 20px auto 0;text-align: center;justify-content: space-between;align-items: center;}
#gifuchan ul li {width: 48%;position: relative;}
#gifuchan ul li  video {width: 100%;}
#gifuchan ul li figure {justify-content: space-between;} 
#gifuchan ul li figure img {width: 48%;}
@media only screen and (max-width: 767px) {
#gifuchan ul li {width: 100%;}
#gifuchan ul li figure img {width: 90%;margin: 0 auto 10px;display: block;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.works h2 {text-align: center;}
.works h2 i {margin: 0 10px 0 0;display: inline-block;vertical-align: middle;}
.works .consultationList {justify-content: space-between;}
.works .consultationList ul {width: 48.5%;margin: 0 0 30px;}
.works .consultationList ul li {width: calc(100% / 2);padding: 20px;}
.works .consultationList ul li:nth-child(1) {}
.works .consultationList ul li:nth-child(1) p {text-align: center;font-size: 2rem;font-weight: 600;line-height: 1.2;}
.works .consultationList ul li:nth-child(1) p span {width: 50px;height: 50px;margin: 0 auto 10px;display: block;text-align: center;border-radius: 50%;font-size: 2.6rem;font-weight: 600;line-height: 1.8;}
.works .consultationList ul li:nth-child(1) figure {line-height: 0;}
.works .consultationList ul li:nth-child(2) h3 {margin: 0 auto 20px;padding: 10px;text-align: center;background: #fff;font-size: 1.8rem;font-weight: 600;line-height: 1.5;}
.works .consultationList ul li:nth-child(2) p {color: #fff;}
@media only screen and (max-width: 767px) {
.works h2 {font-size: 1.8rem!important;}
.works h2 i {width: 40px;}
.works .consultationList ul {width: 100%;margin: 0 auto 20px;}
.works .consultationList ul li {padding: 10px;}
.works .consultationList ul li:nth-child(1) p {font-size: 1.4rem;}
.works .consultationList ul li:nth-child(1) p span {width: 40px;height: 40px;font-size: 2rem;}
.works .consultationList ul li:nth-child(2) h3 {padding: 5px;font-size: 1.4rem;}
}

#building {margin: 100px auto 50px;}
#building .consultationList ul {border: 2px solid #057db6;}
#building .consultationList ul li:nth-child(1) p span {border: 2px solid #057db6;color: #057db6;}
#building .consultationList ul li:nth-child(2) {background: #057db6;}
@media only screen and (max-width: 767px) {
#building {margin: 70px auto 50px;}
}

#land {margin: 0 auto 100px;}
#land .consultationList ul {border: 2px solid #2a9b2e;}
#land .consultationList ul li:nth-child(1) p span {border: 2px solid #2a9b2e;color: #2a9b2e;}
#land .consultationList ul li:nth-child(2) {background: #2a9b2e;}
#land .consultationList ul:nth-of-type(7) li:nth-child(1) p, #land .consultationList ul:nth-of-type(8) li:nth-child(1) p {text-align: left;font-size: 1.6rem;line-height: 1.5;}
@media only screen and (max-width: 767px) {
#land {margin: 0 auto 70px;}
#land .consultationList ul:nth-of-type(7) li:nth-child(1) p, #land .consultationList ul:nth-of-type(8) li:nth-child(1) p {font-size: 1.4rem;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.flow h2 {text-align: center;}
.flow h2 i {margin: 0 10px 0 0;display: inline-block;vertical-align: middle;}
.flow .flowList {justify-content: space-between;}
.flow .flowList ul {width: 48.5%;margin: 0 0 30px;background: #888;align-items: center;}
.flow .flowList ul:last-of-type {margin: 0;}
.flow .flowList ul li {width: calc(100% / 2);padding: 20px;}
.flow .flowList ul li:nth-child(1) {}
.flow .flowList ul li:nth-child(1) .number {text-align: center;font-size: 2rem;font-weight: 600;line-height: 1.2;}
.flow .flowList ul li:nth-child(1) .number span {width: 50px;height: 50px;margin: 0 auto 10px;display: block;text-align: center;border: 2px solid #fff;border-radius: 50%;color: #fff;font-size: 2.6rem;font-weight: 600;line-height: 1.8;}
.flow .flowList ul li:nth-child(1) h3 {margin: 0 auto 20px;padding: 10px;text-align: center;background: #fff;font-size: 1.8rem;font-weight: 600;line-height: 1.5;}
.flow .flowList ul li:nth-child(1) h3 + p {color: #fff;}
.flow .flowList ul li:nth-child(2) figure {line-height: 0;}
@media only screen and (max-width: 767px) {
.flow h2 {font-size: 1.8rem!important;}
.flow h2 i {width: 40px;}
.flow .flowList ul {width: 100%;margin: 0 auto 20px;}
.flow .flowList ul li {padding: 10px;}
.flow .flowList ul li:nth-child(1) .number {font-size: 1.4rem;}
.flow .flowList ul li:nth-child(1) .number span {width: 40px;height: 40px;font-size: 2rem;}
.flow .flowList ul li:nth-child(1) h3 {padding: 5px;font-size: 1.4rem;}
.flow .flowList ul li:nth-child(1) h3 + p {font-size: 1.2rem;}
}

.flow section {margin: 100px auto;}
@media only screen and (max-width: 767px) {
.flow section {margin: 70px auto;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

#LandH_Investigators {margin: 50px auto;}
#LandH_Investigators h3 {margin: 0 auto 30px;text-align: center;color: #2a9b2e;font-size: 3rem;font-weight: 600;line-height: 1.5;}
#LandH_Investigators dl {}
#LandH_Investigators dl dt {width: 30%;padding: 10px 20px;border-left: 1px solid #ccc;border-right: 1px solid #ccc;}
#LandH_Investigators dl dd {width: 70%;padding: 10px 20px;border-right: 1px solid #ccc;}
#LandH_Investigators dl dt:nth-of-type(odd), #LandH_Investigators dl dd:nth-of-type(odd) {background: #eee;}
#LandH_Investigators dl dt:first-of-type, #LandH_Investigators dl dd:first-of-type {background: #aacc03;border-top: 1px solid #ccc;}
#LandH_Investigators dl dt:last-of-type, #LandH_Investigators dl dd:last-of-type {border-bottom: 1px solid #ccc;}
@media only screen and (max-width: 767px) {
#LandH_Investigators h3 {font-size: 1.8rem;}
#LandH_Investigators dl dt {width: 50%;padding: 10px;font-size: 1.2rem;}
#LandH_Investigators dl dd {width: 50%;padding: 10px;font-size: 1.2rem;}
}

#CAPL_Specialist {margin: 0 auto 100px;}
#CAPL_Specialist h3 {margin: 0 auto 30px;text-align: center;color: #057db6;font-size: 3rem;font-weight: 600;line-height: 1.5;}
#CAPL_Specialist dl {}
#CAPL_Specialist dl dt {width: 30%;padding: 10px 20px;border-left: 1px solid #ccc;border-right: 1px solid #ccc;}
#CAPL_Specialist dl dd {width: 70%;padding: 10px 20px;border-right: 1px solid #ccc;}
#CAPL_Specialist dl dt:nth-of-type(odd), #CAPL_Specialist dl dd:nth-of-type(odd) {background: #eee;}
#CAPL_Specialist dl dt:first-of-type, #CAPL_Specialist dl dd:first-of-type {background: #8acedc;border-top: 1px solid #ccc;}
#CAPL_Specialist dl dt:last-of-type, #CAPL_Specialist dl dd:last-of-type {border-bottom: 1px solid #ccc;}
@media only screen and (max-width: 767px) {
#CAPL_Specialist {margin: 0 auto 70px;}
#CAPL_Specialist h3 {font-size: 1.8rem;}
#CAPL_Specialist dl dt {width: 50%;padding: 10px;font-size: 1.2rem;}
#CAPL_Specialist dl dd {width: 50%;padding: 10px;font-size: 1.2rem;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.recruit figure {margin: 0 auto 30px;}
.recruit h2 {margin: 0 auto 40px;position: relative;text-align: center;}
.recruit h2 span {padding: 5px 30px;position: relative;z-index: 1;display: inline-block;background: #fff;color: #057db6;font-size: 3rem;font-weight: 600;line-height: 1.5;letter-spacing: 0.05em;}
.recruit h2::before {content: "";width: 100%;height: 6px;position: absolute;top: 40%;display: block;background: url("images/recruit/line.png") repeat-x center;}
@media only screen and (max-width: 767px) {
.recruit h2 span {padding: 5px 20px;font-size: 2.4rem;}
}

#about {margin: 100px auto 50px;}
#about h3 {margin: 0 auto 20px;font-size: 2.4rem;font-weight: 600;line-height: 1.5;}
@media only screen and (max-width: 767px) {
#about {margin: 70px auto 50px;}
#about h3 {font-size: 1.8rem;}
}

#work {margin: 0 auto 100px;}
#work h3 {width: 50%;margin: 50px auto 20px;padding: 5px 0;display: block;text-align: center;background: #057db6;color: #fff;font-size: 2rem;font-weight: 600;line-height: 1.5;}
#work dl {width: 90%;margin: 0 auto 50px;border-top: 1px solid #ccc;}
#work dl dt {width: 30%;padding: 10px 20px;border-left: 1px solid #ccc;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;}
#work dl dd {width: 70%;padding: 10px 20px;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;}
#work dl dd small {display: block;}
#work dl + p {text-align: center;}
#work dl + p a {margin: auto;padding: 10px 50px;display: inline-block;background: #2a9b2e;color: #fff;font-size: 2rem;font-weight: 600;line-height: 1.5;}
@media only screen and (max-width: 767px) {
#work {margin: 0 auto 70px;}
#work h3 {width: 100%;padding: 10px 0;font-size: 1.6rem;}
#work dl {width: 100%;margin: 0 auto 20px;border-top: 0 none;}
#work dl dt {width: 100%;border-top: 1px solid #ccc;}
#work dl dd {width: 100%;margin: 0 auto 30px;border-left: 1px solid #ccc;}
#work dl + p a {padding: 10px 40px;font-size: 1.8rem;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

#post {margin: 100px auto;}
#post h2 {padding: 0 0 10px;position: relative;border-bottom: solid 3px #eee;}
#post h2:after {content: "";width: 20%;position: absolute;bottom: -3px;display: block;border-bottom: solid 3px #057db6;}
#post h2 time {display: block;font-size: 1.6rem;font-weight: 300;}
#post .blogList {}
#post .blogList li {width: calc(33.3333333% - 100px / 3);margin: 0 3.7% 30px 0;padding: 0 0 20px;border: 1px solid #ccc;}
#post .blogList li:nth-child(3n) {margin: 0 0 30px;}
#post .blogList li a {color: #000;}
#post .blogList li a .date {padding: 0 20px;}
#post .blogList li a figure {}
#post .blogList li a figure img {width: 100%;height: 200px;object-fit: cover;}
#post .blogList li a h3 {padding: 0 20px;font-size: 1.4rem;line-height: 1.5;}
#post #navi {margin: 50px auto 0;text-align: center;}
@media only screen and (max-width: 767px) {
#post {margin: 70px auto;}
#post .blogList li {width: 100%;margin: 0 auto 20px;padding: 0 0 10px;}
#post .blogList li:nth-child(3n) {margin: 0 auto 20px;}
#post .blogList li a .date {padding: 0 10px;}
#post .blogList li a figure img {height: 80px;}
#post .blogList li a h3 {padding: 0 10px;font-size: 1.2rem;}
}

#postCont h3 {margin: 10px auto 20px;font-size: 2.2rem;font-weight: 600;line-height: 1.5;}
#postCont h4 {margin: 10px auto 20px;font-size: 2rem;font-weight: 600;line-height: 1.5;}
#postCont h5 {margin: 10px auto 10px;font-size: 1.8rem;font-weight: 600;}
#postCont h6 {margin: 10px auto 5px;font-size: 1.6rem;font-weight: 600;}
#postCont p {margin: 20px auto;}
#postCont ul {margin: 20px auto;padding: 0 30px;list-style: disc;}
#postCont figure figcaption {color: #888;font-size: 1.4rem;line-height: 1.5;}

.has-text-align-right {text-align: right;}
.has-text-align-center {text-align: center;}
.has-text-align-left {text-align: left;}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.contact {padding: 8% 0 100px;}
.contact h2 {margin: 0 auto 40px;text-align: center;font-size: 3rem;font-weight: 600;line-height: 1.5;}
.contact dl {justify-content: space-between;}
.contact dl dt {width: 25%;padding: 0 0 20px;position: relative;}
.contact dl dt span {padding: 10px 15px;position: absolute;right: 0;top: 20%;display: inline-block;text-align: center;background: rgba(209,0,3,1);color: #fff;font-size: 1.2rem;font-weight: 600;line-height: 0;}
.contact dl dd {width: 70%;padding: 0 0 20px;}
.contact dl dd.select {position: relative;}
.contact dl dd.select::after {content: "";width: 0;height: 0;position: absolute;right: 20px;top: 25%;display: block;border-left: 8px solid transparent;border-right: 8px solid transparent;border-top: 10px solid #000;}
.contact dl dd input[type="text"], .contact dl dd input[type="email"] {width: 100%;padding: 12px 10px;border: 1px solid #ccc;outline: none;}
.contact dl dd textarea {width: 100%;height: 200px;padding: 12px 10px;border: 1px solid #ccc;}
.contact dl dd select {width: 100%;padding: 12px 10px;border: 1px solid #ccc;cursor: pointer;text-overflow: ellipsis;-webkit-appearance: none;appearance: none;}
.contact dl + p {margin: 50px auto 0;text-align: center;}
.contact .submit_area {margin: 30px auto 0;text-align: center;}
.contact .submit_area input[type="submit"] {padding: 10px 50px;background: #057db6;color: #fff;font-size: 1.8rem;font-weight: 600;line-height: 1.5;}
@media only screen and (max-width: 767px) {
.contact {padding: 100px 0 50px;}
.contact h2 {font-size: 2.4rem;}
.contact dl dt {width: 100%;padding: 0 0 5px;}
.contact dl dt span {margin: 0 0 0 10px;position: static;}
.contact dl dd {width: 100%;}
}

#privacy {margin: 80px auto 0;overflow: hidden;font-size: 1.4rem;}
#privacy .scroll {width: 100%;height: 300px;padding: 20px;overflow-x: auto;border: 1px solid #ccc;}
#privacy h3 {margin: 0 auto 40px;text-align: center;font-size: 2rem;font-weight: 600;line-height: 1.5;}
#privacy ul {padding: 10px 20px;list-style: disc;}
#privacy p em {display: block;font-weight: 600;font-style: normal;}
@media only screen and (max-width: 767px) {
#privacy {margin: 50px auto 0;}
#privacy h3 {margin: 0 auto 20px;}
}

.confirmation {text-align: center;}
.submit_content {margin: 30px auto 50px;}
.submit_content dl {padding: 10px;border-radius: 4px;border-bottom: 1px solid #ccc;}
.submit_content dt {width: 200px;display: table-cell;vertical-align: middle;}
.submit_content dd {width: 368px;padding-left: 8px;display: table-cell;vertical-align: middle;}
.err {color: rgba(209,0,3,1);font-size: 1.4rem;}
.confirmation {margin-bottom: 40px;}
.completion {margin-bottom: 50px;text-align: center;}
input[type="submit"][value="送信"] {padding: 10px 50px;border: none;background: #057db6;color: #fff;cursor: pointer;}
input[type="button"][value="戻る"] {margin-left: 15px;padding: 10px 50px;background: none;border: 1px solid #057db6;color: #057db6;display: inline-block;cursor: pointer;}
input[type="submit"][value="送信"]:hover, input[type="button"][value="戻る"]:hover {opacity: .8;}
input[type="button"][value="戻る"].single {margin-left: 0;}
@media only screen and (max-width: 767px) {
.submit_content dt {width: 100%;display: block;}
.submit_content dd {width: 100%;padding-left: 0;display: block;}
}

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
