@charset "utf-8";

/*===============================================
    PCスマホ共通CSS
===============================================*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,
dl, dt, dd, ol, ul, li,fieldset, form, label, legend,caption, article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    list-style: none;
    background:transparent;
    box-sizing:border-box;
}
article, aside, dialog, figure, footer, header,hgroup, nav, section {
    display:block;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
html {
    font-size: 62.5%;
}
body {
    height: auto;
    font-feature-settings: "palt";
    display: block;
    position: relative;
}
section {
    position: relative;
}
a {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    text-decoration:none;
    vertical-align:baseline;
    background:transparent;
    display:inline-block;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    cursor:pointer;
}
a:focus {
    outline: none;
}
img {
    vertical-align: top;
    border: 0;
    max-width:100%;
    height:auto;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}
a:hover img {
    opacity:0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}
.imgArea img {
    width: 100%;
}
table {
    width:100%;
    border-collapse:collapse;
    border-spacing:0;
}
dt {
    font-weight: bold;
}
hr {
    display:block;
    height:1px;
    border:0;
    padding:0;
}
.clear {
    clear: both;
}
.cf:after {
    content: "";
    clear: both;
    display: block;
    height: 0;
}
:root .cf::after { /* IE9 */
    content: ""\9;
    clear: both\9;
    display: block\9;
    height: 0\9;
}
.flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mgb10 {
    margin-bottom: 10px;
}
.mgb20 {
    margin-bottom: 20px;
}
.mgb30 {
    margin-bottom: 30px;
}
.mgb40 {
    margin-bottom: 40px;
}
.mgb50 {
    margin-bottom: 50px;
}
.mgt10 {
    margin-top: 10px;
}
.mgt20 {
    margin-top: 20px;
}
.mgt30 {
    margin-top: 30px;
}
.mgt40 {
    margin-top: 40px;
}
.mgt50 {
    margin-top: 50px;
}
.last {
    margin-bottom:0 !important;
}
p + p {
    margin-top: 1.2em;
}

/* サイト固有設定 */
body {
    color:#232f37;
    font-size:1.6rem;/* 16px*/
    font-family: YuGothic,'Yu Gothic','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    line-height: 1.7;
    letter-spacing: 0.18em;
    background: #fff;
    scroll-behavior: smooth;
}
strong {
    font-size: 1.7rem;
    font-weight: bold;
    background: linear-gradient(transparent 35%, #cceee3 35%);
}
.en {
    font-family: 'Cardo', serif;
    letter-spacing: 0.08em;
}
.en-narrow {
    letter-spacing: -0.02em;
}
.mincho {
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

a {
}
a:hover {
    text-decoration: none;
}

/*===============================================
    PC用CSS
===============================================*/
@media print, screen and (min-width:751px){

/*--------------------------------------------
    サイト基本設定
--------------------------------------------*/
body {
    min-width: 1200px;
    background-size: 100%;
}
.for-sp {
    display:none !important;
}

/*--------------------------------------------
    共通部分
--------------------------------------------*/

/*--  エリアと余白 --*/
.ctsArea {
    padding-top: 80px;
}
.inner {
    padding: 100px 0;
}
.sec-inner {
    width: 1100px;
    position: relative;
    margin: 0 auto;
}

/*--  ボタン --*/
.btn-cv {
    color: #fff;
    font-weight: bold;
    line-height: 1;
    background: #004a7c;
    transition: .5s;
    position: relative;
}
.btn-cv:after {
    content: "";
    display: block;
    height: 6px;
    border-right: 2px solid #FFF;
    border-bottom: 1px solid #FFF;
    position: absolute;
    top: calc(50% - 6px);
    transform: skew(45deg);
    transition: .3s;
    z-index: 20;
}
.btn-cv:hover {
    background: #18c395;
}

.btn-white {
    display: flex;
    color: #154a7c;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    border: #154a7c 1px solid;
    position: relative;
}
.btn-white span {
    width: 100%;
    height: 100%;
    color: #154a7c;
    padding: 14px 0;
    z-index: 10;
    transition: .5s;
}
.btn-white span:before {
    content: "";
    width: 0;
    background: #154a7c;
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    z-index: -1;
    transition: .2s;
}
.btn-white:hover span {
    color: #fff;
}
.btn-white:hover span:before {
    width: 100%;
}
.btn-white:after {
    content: "";
    display: block;
    width: 50px;
    height: 6px;
    border-right: 2px solid #154a7c;
    border-bottom: 1px solid #154a7c;
    position: absolute;
    top: calc(50% - 6px);
    right: -20px;
    transform: skew(45deg);
    transition: .3s;
    z-index: 20;
}
.btn-white:hover:after {
    right: -48px;
}

/*--  table --*/
.table-cmn {
}
.table-cmn tr {
    display: flex;
    align-items: center;
    width: 100%;
    border-bottom: #edecec 1px solid;
    padding: 3rem 0;
}
.table-cmn th {
    width: 18%;
    text-align: left;
}
.table-cmn td {
    width: 82%;
}
.table-cmn td a {
    color: #18c395;
    text-decoration: underline;
}
.table-cmn td a:hover {
    color: #004a7c;
}
.table-cmn td iframe {
    width: 100%;
    height: 400px;
    margin-top: 20px;
}

/*-- list-num --*/
.list-num {
    counter-reset: item;
}
.list-num li {
    display: flex;
    align-items: flex-start;
    column-gap: 18px;
}
.list-num li:before {
    counter-increment: item;
    content: '0'counter(item);
    color: #154a7c;
    font-family: 'Cardo', serif;
    font-size: 2.5rem;
    font-weight: bold;
    margin-top: -0.29em;
}

/*-- list-check --*/
.list-check li {
    position: relative;
}
.list-check li:before {
    content: "";
    width: 14px;
    height: 15px;
    background: url(../Images/icon-check-blue.png) no-repeat;
    background-size: contain;
    display: inline-block;
    margin-right: 12px;
}

/*-- blue-bg --*/
.blue-bg {
    position: relative;
}
.blue-bg:after {
    display: block;
    content: "";
    width: 60%;
    height: 100%;
    background: #e8f1f5;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

/*--  box-line --*/
.box-line {
    position: relative;
}
.box-line:after {
    content: "";
    width: 1px;
    height: 200px;
    background: #154a7c;
    position: absolute;
    top: -50px;
    right: 50px;
    transform: rotate(-45deg);
}

/*--  ttl-liner --*/
.ttl-liner {
    color: #004a7c;
    font-size: 2.2rem;
    font-weight: bold;
    padding-left: 70px;
    position: relative;
}
.ttl-liner:before {
    content: '';
    display: block;
    width: 50px;
    height: 1px;
    background: #154a7c;
    position: absolute;
    top: 0.78em;
    left: 0%;
}

/*--------------------------------------------
    header / footer
--------------------------------------------*/

/*-- header --*/
#header {
    width: 100%;
    min-width: 1200px;
    height: 80px;
    background: #fff;
    padding-left: 2%;
    position: fixed;
    z-index: 999;
}

#header nav {
    column-gap: 50px;
}

#header nav .menu {
    column-gap: 55px;
    width: 100%;
}
#header nav .menu li {
    font-weight: bold;
}
#header nav .menu .menu_single a {
    color:#232f37;
    position: relative;
}
#header nav .menu .menu_single a:hover {
    color: #004a7c;
}
#header nav .menu .menu_single a:after {
    content: '';
    width: 0;
    height: 1px;
    background: #004a7c;
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transition: .5s;
}
#header nav .menu .menu_single a:hover:after {
    width: 45px;
}

#header nav .menu .menu_mega .init-bottom {
    line-height: 1;
    padding: 32px 0;
    cursor: pointer;
}
#header nav .menu .menu_mega .init-bottom:hover {
    color: #004a7c;
}

#header nav .menu .menu_mega .menu_second-level {
    visibility: hidden;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: #004a7c;
    box-sizing: border-box;
    padding: 30px 3%;
    position: absolute;
    top: 70px;
    left: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 10;
}
#header nav .menu .menu_mega:hover .menu_second-level {
    visibility: visible;
    opacity: 1;
    top: 80px;
}

#header nav .menu .menu_mega .menu_second-level li {
    width: 49%;
}
#header nav .menu .menu_mega .menu_second-level li a {
    justify-content: flex-start;
    color: #154a7c;
    background: #fff;
    position: relative;
}
#header nav .menu .menu_mega .menu_second-level li a img {
    width: 33%;
    height: 120px;
    object-fit: cover;
}
#header nav .menu .menu_mega .menu_second-level li a p {
    padding-left: 5%;
}
#header nav .menu .menu_mega .menu_second-level li a p:after {
    content: "";
    display: block;
    width: 50px;
    height: 6px;
    border-right: 2px solid #154a7c;
    border-bottom: 1px solid #154a7c;
    position: absolute;
    top: calc(50% - 6px);
    right: 6%;
    transform: skew(45deg);
    transition: .3s;
    z-index: 20;
}
#header nav .menu .menu_mega .menu_second-level li a:hover {
    background: #e8f1f5;
}
#header nav .menu .menu_mega .menu_second-level li a:hover img {
    opacity: 1;
}
#header nav .menu .menu_mega .menu_second-level li a:hover p:after {
    width: 60px;
    right: calc(6% - 10px);
}

#header nav .btn-cv {
    flex-shrink: 0;
    width: 280px;
    padding: 32px 30px 32px 40px;
}
#header nav .btn-cv:after {
    width: 50px;
    right: 30px;
}
#header nav .btn-cv:hover:after {
    width: 60px;
    right: 20px;
}

/*-- footer --*/
#footer {
    color: #fff;
    background: #154a7c;
    padding: 100px 0;
    margin-top: 90px;
    position: relative;
}
#footer .cvBox {
    width: 620px;
    height: calc(100% + 90px);
    color: #232f37;
    background: #f4f4f4;
    padding: 90px 90px 0;
    position: absolute;
    right: 50%;
    bottom: 0;
    z-index: 99;
}
#footer .cvBox h2 {
    line-height: 1;
    margin-top: -5px;
}
#footer .cvBox h2 span.en {
    color: #154a7c;
    font-size: 8.0rem;
}
#footer .cvBox h2 p {
    font-size: 1.8rem;
    margin-top: 15px;
}
#footer .cvBox .txt {
    line-height: 2.2;
    margin: 60px 0 40px;
}
#footer .cvBox .tel {
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 15px;
    margin-bottom: 30px;
}
#footer .cvBox .tel dl {
    line-height: 1;
}
#footer .cvBox .tel dl dt {
    font-size: 3.8rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    margin: -5px 0 8px;
}
#footer .cvBox .btn-cv {
    width: 100%;
    font-size: 1.8rem;
    padding: 30px 30px 30px 40px;;
}
#footer .cvBox .btn-cv:after {
    width: 70px;
    right: 50px;
}
#footer .cvBox .btn-cv:hover:after {
    width: 80px;
    right: 40px;
}
#footer .ctsBox {
    text-align: right;
}
#footer .ctsBox .ftr-logo {
    margin-bottom: 40px;
}
#footer .ctsBox .address {
    font-size: 1.5rem;
    line-height: 1.9;
}
#footer .ctsBox ul {
    margin: 80px 0 60px;
}
#footer .ctsBox ul li + li {
    margin-top: 10px;
}
#footer .ctsBox ul li a {
    color: #fff;
    padding-right: 60px;
    margin-right: 5px;
    position: relative;
}
#footer .ctsBox ul li a:after {
    content: "";
    display: block;
    width: 50px;
    height: 6px;
    border-right: 2px solid #FFF;
    border-bottom: 1px solid #FFF;
    position: absolute;
    top: calc(50% - 6px);
    right: 0;
    transform: skew(45deg);
    transition: .3s;
    z-index: 20;
}
#footer .ctsBox ul li a:hover:after {
    width: 60px;
    right: -10px;
}
#footer .ctsBox .copyright {
    font-size: 1.4rem;
}

/*===========================================
    contents
============================================*/

/*--------------------------------------------
    TOPページ（#top）
--------------------------------------------*/
#top {

}

/*-- key --*/
#top-key {
    width: 100%;
    height: calc(100vh - 80px);
    position: relative;
}

#top-key .key-inner {
    width: 100%;
    height: 85%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: 8%;
    padding-right: 5%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#top-key .key-copy {
}
#top-key .key-copy dt {
    font-size: 2.8vw;
    line-height: 1.6;
    margin-left: -8px;
    margin-bottom: 30px;
}
#top-key .key-copy dt span {
    color: #004a7c;
    font-size: 3.5vw;
}
#top-key .key-copy dd {
    font-size: 1.2vw;
    line-height: 2;
}

#top-key .key-img {
    width: 46%;
    height: 100%;
}
#top-key .key-img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
#top-key .key-link {
    width: 490px;
    display: block;
    color: #fff;
    font-size: 2.0rem;
    font-weight: bold;
    position: absolute;
    bottom: 20%;
    right: 0;
}
#top-key .key-link span {
    display: block;
    width: 100%;
    background: linear-gradient(90deg, #077fd0, #39edd8 33%, #03f1b6 50%, #077fd0, #39edd8 163%, #03f1b6 200% );
    background-size: 200% auto;
    padding: 33px 40px;
    position: relative;
    transition: all .5s;
}
#top-key .key-link span:after {
    content: "";
    display: block;
    width: 80px;
    height: 6px;
    border-right: 2px solid #FFF;
    border-bottom: 1px solid #FFF;
    position: absolute;
    top: calc(50% - 6px);
    right: 40px;
    transform: skew(45deg);
    transition: .5s;
    z-index: 20;
}
#top-key .key-link:hover span {
    background-position:100% 0;
}
#top-key .key-link:hover span:after {
    width: 90px;
    right: 30px;
}

/*-- top-concept --*/
#top-concept {
    background: #004a7c;
    padding: 80px 0;
}
#top-concept .sec-inner {
    text-align: center;
    background: #fff;
    padding: 78px 0;
}
#top-concept .sec-inner:before,
#top-concept .sec-inner:after {
    content: "";
    width: 1px;
    height: 200px;
    background: #154a7c;
    position: absolute;
    transform: rotate(-45deg);
}
#top-concept .sec-inner:before {
    bottom: -50px;
    left: 50px;
}
#top-concept .sec-inner:after {
    top: -50px;
    right: 50px;
}
#top-concept .ttlArea {
    font-weight: bold;
    margin-bottom: 35px;
}
#top-concept .ttlArea .sub {
    font-size: 1.8rem;
}
#top-concept .ttlArea h2 {
    color: #004a7c;
    font-size: 3.0rem;
    letter-spacing: 0.26em;
    margin: 3px 0 10px;
}
#top-concept .ttlArea .en {
    color: #6791ae;
    letter-spacing: 0.2em;
}
#top-concept p.txt {
    line-height: 2;
}

/*-- top-service --*/
#top-service {
    padding: 120px 0;
}
#top-service h2 {
    line-height: 1;
    margin-top: -5px;
    margin-bottom: 60px;
}
#top-service h2 span.en {
    color: #154a7c;
    font-size: 8.0rem;
}
#top-service h2 p {
    font-size: 1.8rem;
    margin-top: 15px;
}
#top-service .cts {
    position: relative;
}
#top-service .cts + .cts {
    margin-top: 90px;
}
#top-service .cts .txtArea {
    width: 505px;
    background: #fff;
    padding: 70px;
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
#top-service .cts .txtArea .box-line:after {
    top: -130px;
    right: -30px;
}
#top-service .cts .txtArea h3 {
    color: #154a7c;
    font-size: 2.2rem;
    margin-bottom: 15px;
}
#top-service .cts .txtArea p {
    line-height: 1.9;
    margin-bottom: 35px;
}
#top-service .cts .txtArea .btn-white {
    width: 300px;
}
#top-service .cts .txtArea .btn-white span {
    padding-right: 45px;
}

/*-- top-links --*/
#top-links {
    margin-bottom: 240px;
}
#top-links ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}
#top-links li .imgArea {
    margin-top: 57px;
    position: relative;
}
#top-links li .imgArea .en {
    color: #154a7c;
    font-size: 8.0rem;
    line-height: 1;
    position: absolute;
    top: -0.8em;
    left: 0;
}
#top-links li .imgArea h2 {
    color: #fff;
    font-size: 2.2rem;
    letter-spacing: 0.2em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#top-links li .txtArea {
    background: #fff;
    padding: 50px 34px;
}
#top-links li .txtArea p {
    line-height: 1.9;
    margin-bottom: 50px;
}
#top-links li .txtArea .btn-white {
    width: 275px;
}
#top-links li .txtArea .btn-white span {
    padding-right: 40px;
}
#top-links li .txtArea .btn-white:hover:after {
    right: -28px;
}

/*--------------------------------------------
    下層固定ページ共通
--------------------------------------------*/

/*--  下層ページh1 --*/
.under .page-ttlArea {
    background: url(../Images/under-h1-bg.jpg) no-repeat;
    background-size: cover;
    padding: 50px 0 15px;
}
.under .page-ttlArea .txtArea {
    text-align: center;
    line-height: 1;
    background: rgb(255 255 255 / 60%);
    padding: 94px 0;
    margin-bottom: 15px;
}
.under .page-ttlArea .txtArea p {
    color: #004a7c;
    font-size: 7rem;
    font-weight: bold;
}
.under .page-ttlArea .txtArea h1 {
    font-size: 2.2rem;
    margin-top: 20px;
}

/*-- breadcrumbs（ぱんくず） --*/
.under #breadcrumbs {
    display: flex;
    align-items: center;
    column-gap: 65px;
}
.under #breadcrumbs li {
    font-size: 1.5rem;
    position: relative;
}
.under #breadcrumbs li + li:before {
    content: "";
    display: block;
    width: 25px;
    height: 5px;
    border-right: 2px solid #154a7c;
    border-bottom: 1px solid #154a7c;
    position: absolute;
    top: calc(50% - 5px);
    left: -45px;
    transform: skew(45deg);
    transition: .3s;
    z-index: 20;
}
.under #breadcrumbs a {
    color: #004a7c;
    font-weight: bold;
    text-decoration: underline;
}
.under #breadcrumbs a:hover {
    color: #18c395;
}

/*--  下層ページh2 --*/
.under .h2-pat-01 {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 70px;
    line-height: 1;
    margin-bottom: 50px;
}
.under .h2-pat-01 p.num {
    color: #004a7c;
    font-size: 8rem;
    font-weight: bold;
    position: relative;
}
.under .h2-pat-01 p.num:after {
    content: '';
    width: 120px;
    height: 1px;
    background: #004a7c;
    position: absolute;
    top: 62px;
    right: -96px;
    transform: rotate(120deg);
}
.under .h2-pat-01 h2 {
    font-size: 3.6rem;
    font-weight: 600;
    padding-top: 72px;
}

.under .h2-pat-02 {
    display: flex;
    align-items: center;
    column-gap: 20px;
    line-height: 1;
    margin-bottom: 25px;
}
.under .h2-pat-02 .num {
    color: #004a7c;
    font-size: 4rem;
    font-weight: bold;
}
.under .h2-pat-02 span {
    color: #004a7c;
}
.under .h2-pat-02 h2 {
    font-size: 2.4rem;
    font-weight: 600;
}

.under .h2-pat-03 {
    margin-bottom: 50px;
}
.under .h2-pat-03 p.en {
    color: #004a7c;
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
}
.under .h2-pat-03 h2 {
    font-size: 1.8rem;
    margin-top: 15px;
}

/*--------------------------------------------
    会社概要
--------------------------------------------*/
#about h3 {
    margin-bottom: 20px;
}

#about #sec01 .ctsBox p {
    line-height: 2;
}
#about #sec01 .ctsBox .name {
    font-size: 1.8rem;
    font-weight: bold;
}

#about #sec02 {
    background: #f4f4f4;
}
#about #sec02 .ctsBox-inner {
    align-items: flex-start;
    column-gap: 5%;
}
#about #sec02 .ctsBox-inner h4 {
    font-size: 1.9rem;
    margin-bottom: 15px;
    position: relative;
}
#about #sec02 .ctsBox-inner h4:before {
    content: "";
    width: 19px;
    height: 20px;
    vertical-align: text-bottom;
    background: url(../Images/icon-check-blue.png) no-repeat;
    background-size: contain;
    display: inline-block;
    margin-right: 13px;
}
#about #sec02 .ctsBox-inner .leftBox,
#about #sec02 .ctsBox-inner .rightBox {
    width: 50%;
}
#about #sec02 .ctsBox-inner .leftBox ul {
    flex-wrap: wrap;
    row-gap: 20px;
}
#about #sec02 .ctsBox-inner .leftBox li {
    width: 48%;
    text-align: center;
    background: #fff;
    padding: 30px 25px;
}
#about #sec02 .ctsBox-inner .leftBox li .num {
    color: #154a7c;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 8px;
}
#about #sec02 .ctsBox-inner .leftBox li dt {
    color: #154a7c;
    font-size: 1.7rem;
    margin-bottom: 10px;
}
#about #sec02 .ctsBox-inner .leftBox li dd {
    font-size: 1.5rem;
}
#about #sec02 .ctsBox-inner .rightBox .rightBox-top {
    margin-bottom: 60px;
}
#about #sec02 .ctsBox-inner .rightBox .rightBox-top p {
    line-height: 2.2;
}
#about #sec02 .ctsBox-inner .rightBox .rightBox-btm li + li {
    margin-top: 13px;
}

#about #sec03 .service {
    border: none;
}
#about #sec03 .service dl + dl {
    margin-top: 30px;
}
#about #sec03 .service dl dt {
    font-size: 1.8rem;
    padding-left: 55px;
    margin-bottom: 5px;
}
#about #sec03 .service dl dt:before {
    width: 35px;
}
#about #sec03 .note {
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 40px;
}

.ctsBox{
	margin-bottom: 60px;
}
	
.video {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------------------------------
    サービス紹介
--------------------------------------------*/
/*-- 共通 --*/
.service .ctsBox.flex {
    column-gap: 50px;
}
.service .ctsBox p {
    line-height: 2;
}
.service .ctsBox p + p {
    margin-top: 18px;
}
.service .ctsBox .ttl-liner {
    margin-bottom: 30px;
}
.service .ctsBox .note {
    margin-bottom: 40px;
}
.service .navBox-top {
    padding: 50px 0 70px;
}
.service .navBox-btm {
    padding: 90px 0 130px;
}
.service .navBox li p.num{
    color: #004a7c;
    font-size: 5rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: -9px;
}
.service .navBox li .btn-white {
    width: 310px;
}
.service .navBox li .btn-white span {
    padding: 16px 0;
}
.service #sec01,
.service #sec03 {
    background: #f4f4f4;
}

/*-- 人事労務アウトソーシング --*/
#service-os .list-num li + li {
    margin-top: 15px;
}
#service-os #sec01 .ctsBox + .ctsBox {
    margin-top: 100px;
}
#service-os #sec01 .ctsBox .ttl-liner {
    margin-bottom: 40px;
}
#service-os #sec01 .ctsBox-02 ul {
    flex-wrap: wrap;
    row-gap: 40px;
}
#service-os #sec01 .ctsBox-02 li {
    width: 340px;
    text-align: center;
    background: #fff;
    padding: 60px 0;
}
#service-os #sec01 .ctsBox-02 li img {
    object-fit: contain;
    height: 100px;
    margin-bottom: 30px;
}
#service-os #sec02 .ctsBox + .ctsBox {
    margin-top: 70px;
}
#service-os #sec02 .ctsBox-02 {
    flex-direction: row-reverse;
}
#service-os #sec03 .txtArea .exam {
    background: #fff;
    padding: 30px 40px;
    margin-top: 40px;
}
#service-os #sec03 .txtArea .exam h4 {
    color: #004a7c;
    font-size: 1.8rem;
    margin-bottom: 15px;
}
#service-os #sec03 .txtArea .exam .list-check li + li {
    margin-top: 6px;
}

/*-- ホームページ制作 --*/
#service-hp #sec01 .ctsBox + .ctsBox {
    margin-top: 100px;
}
#service-hp #sec01 .ctsBox-02 .ctsBox-inner {
    align-items: stretch;
}
#service-hp #sec01 .ctsBox-02 .ctsBox-inner .cts-left {
    width: 48%;
    background: #fff;
}
#service-hp #sec01 .ctsBox-02 .ctsBox-inner .cts-right {
    width: 48%;
    background: #fff;
}
#service-hp #sec01 .ctsBox-02 h4 {
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    padding: 13px;
}
#service-hp #sec01 .ctsBox-02 .cts-left h4 {
    background: #004a7c;
}
#service-hp #sec01 .ctsBox-02 .cts-right h4 {
    background: #18c395;
}
#service-hp #sec01 .ctsBox-02 .whiteArea {
    padding: 40px 50px;
}
#service-hp #sec01 .ctsBox-02 .whiteArea .list-check li + li {
    margin-top: 10px;
}
#service-hp #sec01 .ctsBox-02 .cts-right .whiteArea .list-check li:before {
    background: url(../Images/icon-check-green.png) no-repeat;
}
#service-hp #sec01 .ctsBox-02 .whiteArea p {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.7;
}
#service-hp #sec01 .ctsBox-02 .cts-left .whiteArea p {
    color: #004a7c;
    margin-top: 30px;
}
#service-hp #sec01 .ctsBox-02 .cts-right .whiteArea p {
    color: #18c395;
    margin-top: 40px;
}
#service-hp #sec01 .ctsBox-03 {
    flex-direction: row-reverse;
}
#service-hp #sec02 .ctsBox {
    flex-wrap: wrap;
    column-gap: initial;
    row-gap: 45px;
}
#service-hp #sec02 .ctsBox li {
    width: 48%;
    background: #e8f1f5;
    padding: 50px 55px;
}
#service-hp #sec02 .ctsBox li dl dt {
    color: #004a7c;
    font-size: 2.2rem;
    margin-bottom: 12px;
}
#service-hp #sec02 .ctsBox li dl dt:before {
    content: "";
    width: 14px;
    height: 15px;
    background: url(../Images/icon-check-blue.png) no-repeat;
    background-size: contain;
    display: inline-block;
    margin-right: 12px;
}
#service-hp #sec02 .ctsBox li dl dd {
    line-height: 2;
}
#service-hp #sec02 .ctsBox li img {
    margin: 25px 0 30px;
}
#service-hp #sec02 .ctsBox li p {
    color: #004a7c;
    font-weight: bold;
    line-height: 1;
    padding-left: 60px;
    position: relative;
}
#service-hp #sec02 .ctsBox li p:before {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: #154a7c;
    position: absolute;
    top: 0.48em;
    left: 0;
}
#service-hp #sec03 .ctsBox dl {
    flex-shrink: 0;
    width: 540px;
    font-weight: bold;
    text-align: center;
}
#service-hp #sec03 .ctsBox dl dt {
    color: #fff;
    font-size: 2.2rem;
    background: #004a7c;
    padding: 10px;
}
#service-hp #sec03 .ctsBox dl dd {
    color: #004a7c;
    font-size: 4.0rem;
    line-height: 1;
    background: #fff;
    padding: 45px 0;
}
#service-hp #sec03 .ctsBox dl dd span {
    font-size: 8.0rem;
    margin: 0 5px 0 7px;
}

.option {
	display: flex;
}

.option li{
	width: 50%;
}
	
.option .op01 {	
	margin-right: 80px;
}
	
.option li img{
	width: 100%;	
}
	
.vid_contents {
	width: 100%;
	text-align: center;
	margin: auto;
	padding: 4% 4% 4% 4%;
	background: #e6e6e6;
}
	
.vid_main {
	width: 100%;
	max-width: 920px;
}
	
/*--------------------------------------------
    事例紹介
--------------------------------------------*/
#case #sec01 {
    padding: 100px 0 0;
    margin-bottom: 200px;
}
#case #sec01 .ctsBox + .ctsBox {
    margin-top: 80px;
}
#case #sec01 .ctsBox .h2-pat-02 {
    justify-content: flex-end;
    padding-right: 80px;
    margin-bottom: 10px;
}
#case #sec01 .ctsBox .ctsBox-inner {
    background: #fff;
    padding: 50px 60px;
}
#case #sec01 .ctsBox h3 {
    margin-bottom: 30px;
}
#case #sec01 .ctsBox dl dt {
    font-size: 1.8rem;
    line-height: 1;
    background: #f4f4f4;
    padding: 12px 20px;
    margin-bottom: 25px;
}

/*--------------------------------------------
    よくあるご質問
--------------------------------------------*/
#faq .faq-cts {
    width: 100%;
}
#faq .faq-cts li + li {
    margin-top: 50px;
}
#faq .faq-cts li dl dt {
    display: flex;
    column-gap: 25px;
    background: #f4f4f4;
    padding: 30px 70px 30px 30px;
    position: relative;
    cursor: pointer;
}
#faq .faq-cts li dl dt:after {
    content: "\f107";
    color: #154a7c;
    font-family: "Font Awesome 5 Free";
    font-size: 1.8rem;
    font-weight: 600;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
#faq .faq-cts li dl dt.open:after {
    content: "\f106";
}
#faq .faq-cts li dl dd {
    display: flex;
    column-gap: 30px;
    padding: 30px;
}
#faq .faq-cts li dl span {
    color: #154a7c;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
}
#faq .faq-cts li dl span.icon-a {
    padding-top: 5px;
}
#faq .faq-cts li dl dd p {
    line-height: 1.9;
}

/*--------------------------------------------
    SDGsの取り組みについて
--------------------------------------------*/
#sdgs #sec01 .sec-inner.flex {
    align-items: flex-start;
    column-gap: 60px;
}
#sdgs #sec01 .ctsBox-inner-01 {
    margin-bottom: 80px;
}
#sdgs #sec01 .ctsBox-inner .h2-pat-02 {
    margin-bottom: 30px;
}
#sdgs #sec01 .ctsBox-inner .txtArea p {
    line-height: 2;
}
#sdgs #sec01 img {
    width: 470px;
}

/*--------------------------------------------
    プライバシーポリシー
--------------------------------------------*/
#privacy #sec01 .ctsBox + .ctsBox {
    margin-top: 70px;
}
#privacy #sec01 .ctsBox .ctsBox-inner {
    margin-top: 40px;
}
#privacy #sec01 .ctsBox .ctsBox-inner .ttl-liner {
    margin-bottom: 20px;
}
#privacy #sec01 .ctsBox .list-num li + li {
    margin-top: 10px;
}
#privacy #sec01 .ctsBox .madoguchi {
    margin: 20px 0;
}
#privacy #sec01 .ctsBox .madoguchi dl {
    display: flex;
    align-items: center;
}
#privacy #sec01 .ctsBox .madoguchi dl + dl {
    margin-top: 7px;
}
#privacy #sec01 .ctsBox .madoguchi dl dt {
    min-width: 100px;
    color: #004a7c;
    margin-right: 20px;
}

/*--------------------------------------------
    お問い合わせ（#contact）
--------------------------------------------*/
#contact #sec01 {
    padding: 100px 0 0;
    margin-bottom: 200px;
}
#contact #sec01 .noteBox {
    padding-left: 80px;
    margin-bottom: 20px;
}
#contact #sec01 .noteBox .noteBox-top {
    justify-content: center;
    column-gap: 30px;
    margin-bottom: 60px;
}
#contact #sec01 .noteBox .noteBox-top p {
    line-height: 2.2;
}
#contact #sec01 .noteBox .noteBox-top .tel {
    justify-content: flex-start;
    align-items: flex-start;
    flex-shrink: 0;
    column-gap: 15px;
    background: #fff;
    padding: 25px 50px 23px;
}
#contact #sec01 .noteBox .noteBox-top .tel dl {
    line-height: 1;
}
#contact #sec01 .noteBox .noteBox-top .tel dl dt {
    font-size: 3.8rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    margin: -5px 0 8px;
}
#contact #sec01 .noteBox .noteBox-btm {
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
    line-height: 2;
}
#contact #sec01 .noteBox .noteBox-btm a {
    color: #18c395;
    text-decoration: underline;
}
#contact #sec01 .noteBox .noteBox-btm a:hover {
    color: #154a7c;
}

/*--  フォーム部分 --*/
form .bgArea {
    background: #fff;
    padding: 55px 80px;
}
form dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: #edecec 1px solid;
    padding: 2.5rem 0;
}
form dl.last {
    border-bottom: 0;
}
form dt {
    width: 26%;
    letter-spacing: 0.15em;
    padding-left: 6rem;
    position: relative;
}
form dt span.tag {
    color: #fff;
    font-size: 1.3rem;
    background: #154a7c;
    padding: 2px 8px;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
form dt span.tag-must {
    background: #18c395;
}
form dd {
    width: 74%;
    font-size: 1.5rem;
}
form dd input,
form dd textarea {
    width: 100%;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 1.5rem;
    letter-spacing: 0.13em;
    line-height: 1.5;
    border: none;
    background: #f4f4f4;
    padding: 8px 12px;
}
form .tel dd {
    justify-content: flex-start;
}
form .tel dd input {
    width: 20%;
}
form .tel dd span {
    margin: 0 9px 0 12px;
}
form .btn {
    display: flex;
    width: 300px;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    border: #154a7c 1px solid;
    margin: 40px auto 0;
    position: relative;
    cursor: pointer;
    transition: .5s;
}
form .btn:after {
    content: "";
    display: block;
    width: 50px;
    height: 6px;
    border-right: 2px solid #154a7c;
    border-bottom: 1px solid #154a7c;
    position: absolute;
    top: calc(50% - 6px);
    right: -20px;
    transform: skew(45deg);
    transition: .3s;
    z-index: 20;
}
form .btn input {
    width: 100%;
    height: 100%;
    color: #154a7c;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    background: none;
    border: none;
    padding: 14px 0;
    transition: .5s;
}
form .btn:hover:after {
    right: -48px;
}
form .btn:hover input {
    color: #fff;
    background: #154a7c;
}

/*--  フォーム送信完了共通 --*/
#thanks #sec01 {
    text-align: center;
    padding: 100px 0 0;
    margin-bottom: 200px;
}
#thanks #sec01 .sec-inner {
    background: #fff;
    padding: 100px 0 80px;
}

#thanks #sec01 img {
    object-fit: contain;
    height: 250px;
    margin-bottom: 40px;
}
#thanks #sec01 .txtArea p {
    line-height: 2;
}
#thanks #sec01 .btn-white {
    width: 300px;
    margin: 60px auto 0;
}
#thanks #sec01 .btn-white span {
    padding-right: 30px;
}

/*--------------------------------------------
    404ページ
--------------------------------------------*/
#page404 #sec01 {
    text-align: center;
}
#page404 #sec01 img {
    object-fit: contain;
    height: 250px;
    margin-bottom: 40px;
}
#page404 #sec01 .btn-white {
    width: 300px;
    margin: 60px auto 0;
}
#page404 #sec01 .btn-white span {
    padding-right: 30px;
}



}