@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;
}

.flex.end {
    justify-content: flex-end;
}

.flex.start {
    justify-content: flex-start;
}

.flex.end+.flex.end {
    margin-top: 20px;
}

.flex.end+.flex.end p {
    text-align: right;
}

.end-text p+p {
    margin-top: 0;
}

.mgb10 {
    margin-bottom: 10px;
}

.mgb20 {
    margin-bottom: 20px;
}

.mgb30 {
    margin-bottom: 30px;
}

.mgb40 {
    margin-bottom: 40px;
}

.mgb50 {
    margin-bottom: 50px;
}

.last {
    margin-bottom: 0 !important;
}

p+p {
    margin-top: 1.2em;
}

p+img {
    margin-top: 20px;
}

img+p {
    margin-top: 20px;
}

/* サイト固有設定 */
body {
    color: #32322C;
    font-size: 1.6rem;
    /* 16px*/
    font-weight: 400;
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    line-height: 1.9;
    letter-spacing: 0.18em;
    background: #fff;
    scroll-behavior: smooth;
}

a {
    color: #6ABE83;
}

a.hvr-white {
    color: #fff;
}

a:hover {
    color: #F69E53;
    text-decoration: none;
}

a.hvr-white:hover {
    color: #fffb79;
}

strong {
    font-size: 1.7rem;
    font-weight: bold;
    background: linear-gradient(transparent 35%, #fffb79 35%);
}

.en {
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    letter-spacing: 0.2em;
}

.mt20 {
    margin-top: 20px;
}

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

    /*--------------------------------------------
    サイト基本設定
--------------------------------------------*/
    body {
        min-width: 1200px;
        background-size: 100%;
    }

    .for-sp {
        display: none !important;
    }

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

    /*--  エリアと余白 --*/
    .ctsArea {
        position: relative;
        padding-top: 124px;
    }

    .inner {
        padding: 100px 0;
    }

    .sec-inner {
        width: 1100px;
        position: relative;
        margin: 0 auto;
    }

    /*--  #to-top --*/
    #page-top {
        right: 2%;
        z-index: 100;
    }

    #page-top a {
        display: block;
        width: 70px;
        height: 70px;
        color: #fff;
        font-weight: bold;
        text-align: center;
        background: #6ABE83;
        border-radius: 50%;
        position: relative;
        transition: .5s;
    }

    #page-top a:after {
        content: "\f062";
        color: #fff;
        font-family: "Font Awesome 5 Free";
        font-size: 2.4rem;
        font-weight: 600;
        position: absolute;
        top: 51%;
        left: 53%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    #page-top a:hover {
        background: #F69E53;
    }

    /*--  ボタン --*/
    .btn-cmn {
        display: flex;
        align-items: center;
        column-gap: 25px;
        height: 45px;
        border-radius: 100px;
        overflow: hidden;
        position: relative;
        justify-content: space-between;
    }

    .btn-green {
        background: #6ABE83;
        border: #6ABE83 2px solid;
    }

    .btn-orange {
        background: #F69E53;
        border: #F69E53 2px solid;
    }

    .btn-white {
        background: #fff;
        border: #fff 2px solid;
    }

    .btn-cmn span {
        color: #fff;
        font-size: 1.6rem;
        font-weight: 500;
        padding: 0 0 0 62px;
        position: relative;
        z-index: 10;
        transition: .7s;
    }

    .btn-white span {
        color: #6ABE83;
    }

    .btn-cmn:before {
        content: "";
        width: 41px;
        height: 41px;
        background: #fff;
        border-radius: 100px;
        position: absolute;
        top: 0;
        bottom: 0;
        display: block;
        z-index: 5;
        transition: .4s;
    }

    .btn-white:before {
        background: #6ABE83;
    }

    .btn-green:hover span {
        color: #6ABE83;
    }

    .btn-orange:hover span {
        color: #F69E53;
    }

    .btn-white:hover span {
        color: #fff;
    }

    .btn-cmn:hover:before {
        width: 100% !important;
    }

    .btn-cmn:after {
        content: "\f061";
        color: #fff;
        font-family: "Font Awesome 5 Free";
        font-size: 1.2rem;
        font-weight: 600;
        padding-top: 2px;
        padding-right: 15px;
        position: relative;
        z-index: 10;
        transition: .7s;
    }

    .btn-white:after {
        color: #6ABE83;
    }

    .btn-green:hover:after {
        color: #6ABE83;
    }

    .btn-orange:hover:after {
        color: #F69E53;
    }

    .btn-white:hover:after {
        color: #fff;
    }

    /*--  見出し --*/
    h2 {
        line-height: 1;
    }

    h2 span {
        display: block;
    }

    h2.h2-center {
        text-align: center;
    }

    h2.h2-left {
        text-align: left;
    }

    h2.h2-right {
        text-align: right;
    }

    h2.for-top {
        margin-bottom: 60px;
    }

    h2.for-top span+span {
        margin-top: 15px;
    }

    h2.for-top span.en {
        color: #6ABE83;
        font-size: 5rem;
    }

    h2.for-top span.jp {
        color: #666666;
        font-size: 1.6rem;
        letter-spacing: 0.4em;
    }

    h2.for-under {
        margin-bottom: 70px;
    }

    h2.for-under span+span {
        margin-top: 25px;
    }

    h2.for-under span.jp {
        color: #666666;
        font-size: 3.6rem;
        letter-spacing: 0.24em;
    }

    h2.for-under span.en {
        color: #6ABE83;
        font-size: 2rem;
        letter-spacing: 0.35em;
    }

    h2.h2-liner {
        display: flex;
        align-items: center;
        column-gap: 20px;
        margin-bottom: 50px !important;
    }

    h2.h2-liner:after {
        display: inline;
        flex-grow: 1;
        content: "";
        border-top: #6ABE83 1px solid;
    }

    h2.h2-liner span {
        color: #6abe84 !important;
        font-size: 3rem !important;
    }

    .dot-ttl {
        color: #666666;
        font-weight: 700;
        font-size: 2.8rem;
        line-height: 1.6;
        letter-spacing: 0.2em;
        margin-bottom: 30px;
    }

    .dot-ttl-left {
        background: url(../Images/dots-green.png) top 0.8em left no-repeat;
        background-size: 35px auto;
        padding-left: 55px;
    }

    .dot-ttl-center {
        text-align: center;
        background: url(../Images/dots-green.png) bottom center no-repeat;
        background-size: 35px auto;
        padding-bottom: 25px;
    }

    /*--  bg-color --*/
    .bg-gray {
        background: #F0F1F2;
    }

    .bg-green {
        background: #F0F8F3;
    }

    /*--  border-radius --*/
    .radius-15 {
        border-radius: 15px;
    }

    .radius-40 {
        border-radius: 40px;
    }

    /*--  table-cmn --*/
    .table-cmn {
        width: 100%;
    }

    .table-cmn th {
        min-width: 220px;
        font-weight: 700;
        text-align: left;
        border-bottom: 1px solid #6ABE83;
        padding: 25px 10px 25px 20px;
    }

    .table-cmn td {
        border-bottom: 1px solid #E4E6E4;
        padding: 25px 20px;
    }

    .table-cmn td p+iframe {
        width: 100%;
        height: 300px;
        margin-top: 20px;
    }

    /*--  dl-cmn --*/
    .dl-cmn+.dl-cmn {
        margin-top: 20px;
    }

    .dl-cmn dt {
        color: #6abe84;
        font-size: 2rem;
        font-weight: 700;
        margin-bottom: 5px;
    }

    /*--  list-cmn-mark --*/
    .list-cmn-mark li {
        display: flex;
        column-gap: 15px;
    }

    .list-cmn-mark li:before {
        flex-shrink: 0;
        content: '';
        width: 5px;
        height: 2px;
        background: #6abe84;
        margin-top: 0.9em;
    }

    .list-cmn-mark li a {
        text-decoration: underline;
    }

    /*--  underNav --*/
    .underNav {
        background: #fff;
    }

    .underNav ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 20px;
    }

    .underNav li {
        width: 260px;
    }

    .underNav li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: #fff;
        font-weight: 700;
        background: #6ABE83;
        border: #6ABE83 2px solid;
        padding: 13px 18px 13px 28px;
    }

    .underNav li a:after {
        content: "\f061";
        color: #fff;
        font-family: "Font Awesome 5 Free";
        font-size: 1.2rem;
        font-weight: 600;
        padding-top: 2px;
        transition: .5s;
    }

    .underNav li a:hover {
        color: #6ABE83;
        background: #fff;
        padding: 13px 13px 13px 28px;
    }

    .underNav li a:hover:after {
        color: #6ABE83;
    }

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

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

    #header .hdr-top {
        align-items: center;
        padding: 10px 2%;
    }

    #header .hdr-top .hdr-logo {
        width: 200px;
    }

    #header .hdr-top-right {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        column-gap: 20px;
    }

    #header .hdr-top-right .tel {
        display: flex;
        align-items: center;
        column-gap: 12px;
        font-size: 3rem;
        font-weight: 600;
        letter-spacing: 0.1em;
        line-height: 1;
        position: relative;
    }

    #header .hdr-top-right .tel:before {
        content: "\f095";
        color: #6ABE83;
        font-family: "Font Awesome 5 Free";
        font-size: 2.4rem;
        font-weight: 600;
    }

    #header .hdr-top-right .hdr-btnArea {
        column-gap: 15px;
    }

    .sns-ico_gr {
        display: flex;
        align-items: center;
        gap: 7px;
        vertical-align: middle;
        justify-content: flex-end;
    }

    .sns-ico_gr p+p {
        margin-top: 0;
    }

    .sns-ico_item {
        width: 32px;
    }

    /*.sns {*/
    /*    width: 5%;*/
    /*    margin-top: 0;*/
    /*}*/

    @media screen and (min-width: 1340px) {
        #header .hdr-top-right {
            column-gap: 30px;
        }

        .sns-ico_gr {
            gap: 10px;
        }

        .sns-ico_item {
            width: 50px;
        }
    }

    #header .hdr-btm {
        background: #fff;
    }

    #header .hdr-btm .navMain {
        justify-content: center;
    }

    #header .hdr-btm .navMain>li {
        width: 17%;
        border-right: #fff 1px solid;
    }

    #header .hdr-btm .navMain>li:last-child {
        border-right: none;
    }

    #header .hdr-btm .navMain li a {
        display: block;
        width: 100%;
        color: #6abe84;
        font-size: 1.5rem;
        font-weight: bold;
        text-align: center;
        border-bottom: #fff 3px solid;
        padding: 8px 0;
    }

    #header .hdr-btm .navMain>li>a:hover {
        border-bottom: #6abe84 3px solid;
    }

    #header .hdr-btm .navSub {
        width: 17%;
        position: absolute;
        display: none;
    }

    #header .hdr-btm .navSub li:last-child {
        border-radius: 0 0 10px 10px;
        overflow: hidden;
    }

    #header .hdr-btm .navSub li a {
        font-size: 1.4rem;
        font-weight: normal;
        background: #dcf1e2;
        border-top: #fff 1px solid;
        border-bottom: none;
        padding: 8px 0;
    }

    #header .hdr-btm .navSub li a:hover {
        color: #fff;
        background: #6abe84;
    }

    .current {
        border-bottom: #6abe84 3px solid;
    }

    .nav-parent ul ul {
        display: block;
    }

    .nav-parent li.has-child ul {
        position: absolute;
        left: 0;
        top: 62px;
        z-index: 4;
        justify-content: space-between;
        flex-wrap: wrap;
        background: #fff;
        width: 100%;
        display: none;
        visibility: hidden;
        opacity: 0;
        transition: all .3s;
        padding: 20px;
    }


    .nav-parent li.has-child:hover>ul {
        display: flex;
        visibility: visible;
        opacity: 1;
        justify-content: flex-end;
    }

    .nav-parent li.has-child ul li {
        width: 20%;
        text-align: center;
    }

    .nav-parent li.has-child ul li a {
        color: #6ABE83;
        text-align: center;
        font-weight: bold;
        border-bottom: solid 2px #6ABE83;
    }

    .nav-parent li.has-child ul li a:hover,
    .nav-parent li.has-child ul li a:active {
        color: #F69E53;
        border-bottom: solid 2px #F69E53;
    }

    .nav-parent li.has-child ul li a dl dd:after {
        content: "\f061";
        color: #6ABE83;
        font-family: "Font Awesome 5 Free";
        font-size: 1.2rem;
        font-weight: 600;
        padding-top: 2px;
        padding-left: 15px;
        position: relative;
        z-index: 10;
        transition: .7s;
    }

    .nav-parent li.has-child ul li a dl dd:hover:after,
    .nav-parent li.has-child ul li a dl dd:active:after {
        color: #F69E53;
    }


    /*-- footer --*/
    #footer {
        background: #6abe84;
        padding: 90px 0;
    }

    #footer .cvArea {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        column-gap: 10%;
        width: 87.5%;
        max-width: 1260px;
        background: #fff;
        padding: 70px 0;
        margin: 0 auto;
    }

    #footer .cvArea .leftArea h2 {
        margin-bottom: 30px;
    }

    #footer .cvArea .rightArea {
        flex-wrap: nowrap;
        justify-content: center;
        align-items: flex-start;
        column-gap: 8%;
    }

    #footer .cvArea .rightArea .cts {
        flex-shrink: 0;
        text-align: center;
    }

    #footer .cvArea .rightArea .cts h3 {
        font-size: 1.8rem;
        padding-bottom: 30px;
        margin-bottom: 30px;
        position: relative;
    }

    #footer .cvArea .rightArea .cts h3:before {
        display: block;
        color: #6ABE83;
        font-family: "Font Awesome 5 Free";
        font-size: 3.8rem;
        font-weight: 600;
        line-height: 1;
        margin-bottom: 10px;
    }

    #footer .cvArea .rightArea .cts.tel h3:before {
        content: "\f095";
        font-size: 3.5rem;
        margin-bottom: calc(10px + 0.3rem);
    }

    #footer .cvArea .rightArea .cts.mail h3:before {
        content: "\f0e0";
        font-weight: 500;
    }

    #footer .cvArea .rightArea .cts h3:after {
        content: '';
        width: 35px;
        height: 5px;
        background: url(../Images/dots-green.png) no-repeat;
        background-size: contain;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

    #footer .cvArea .rightArea .cts.tel .num p {
        font-size: 3.4rem;
        font-weight: 600;
        letter-spacing: 0.1em;
        line-height: 1;
    }

    #footer .cvArea .rightArea .cts.tel .num span {
        font-size: 1.4rem;
    }

    #footer .cvArea .rightArea .cts.mail .btn-cmn {
        height: 55px;
    }

    #footer .cvArea .rightArea .cts.mail .btn-cmn:before {
        width: 51px;
        height: 51px;
    }

    #footer .cvArea .rightArea .cts.mail .btn-cmn span {
        padding: 0 0 0 67px;
    }

    #footer .ftrArea {
        align-items: flex-start;
        color: #fff;
        margin-top: 60px;
    }

    #footer .ftrArea a {
        color: #fff;
    }

    #footer .ftrArea .leftArea .company-info {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 45px;
    }

    #footer .ftrArea .leftArea .company-info .txtArea .ftr-logo {
        font-size: 3rem;
        font-weight: 500;
        line-height: 1;
        margin-bottom: 20px;
    }

    #footer .ftrArea .leftArea .company-info .txtArea .address {
        font-size: 1.5rem;
        line-height: 1.6;
    }

    #footer .iso-img-box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: right;
    }

    #footer .iso-img {
        width: 300px;
        object-fit: contain;
    }

    .ftr-sns-ico_gr {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 15px;
        justify-items: center;
        align-items: center;
        margin-left: 40px;
    }

    .ftr-sns-ico_gr .sns-ico_item {
        width: 50px;
    }

    .ftr-sns-ico_gr p+p {
        margin-top: 0;
    }

    #footer .ftrArea .leftArea .btn-cmn {
        column-gap: 95px;
    }

    #footer .ftrArea .leftArea .btn-cmn span {
        padding-left: 120px;
    }

    #footer .ftrArea .rightArea-top {
        align-items: flex-start;
        column-gap: 60px;
        margin-bottom: 36px;
    }

    #footer .ftrArea .rightArea-top ul li+li {
        margin-top: 15px;
    }

    #footer .ftrArea .rightArea-top ul li a {
        font-weight: 600;
        transition: .5s;
    }

    #footer .ftrArea .rightArea-top ul li.indent {
        margin-top: 8px;
    }

    #footer .ftrArea .rightArea-top ul li.indent a {
        display: flex;
        align-items: center;
        column-gap: 15px;
        font-size: 1.5rem;
        font-weight: 400;
    }

    #footer .ftrArea .rightArea-top ul li.indent a:before {
        display: inline-block;
        content: '';
        width: 5px;
        height: 2px;
        background: #fff;
    }

    #footer .ftrArea .rightArea-top ul li.indent a+a {
        margin-top: 5px;
    }

    #footer .ftrArea .rightArea-top ul li a:hover {
        text-decoration: underline;
    }

    #footer .ftrArea .rightArea .ftr-copy {
        font-size: 1.2rem;
        text-align: right;
        margin-bottom: 30px;
    }

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

    /*--------------------------------------------
    TOPページ（#top）
--------------------------------------------*/
    #top {
        padding-top: 124px;
        overflow: hidden;
    }

    /*-- key --*/
    #top #key {
        width: 100%;
        height: calc(100vh - 122px);
        background: url(../Images/key-img.jpg) center bottom 30% no-repeat;
        background-size: cover;
        position: relative;
        overflow: hidden;
    }

    #top #key .sec-inner {
        top: 15%;
    }

    #top #key .maincopy {
        color: #fff;
        filter: drop-shadow(0px 3px 3px rgba(59, 143, 207, 0.4));
    }

    #top #key .maincopy dt {
        font-size: 4.6rem;
        font-weight: 500;
        line-height: 160%;
        letter-spacing: 0.15em;
        margin-bottom: 30px;
    }

    #top #key .maincopy dd {
        font-size: 2rem;
        line-height: 220%;
        letter-spacing: 0.18em;
    }

    #top #key .circle-topkey {
        position: absolute;
        top: -10%;
        right: -6%;
    }

    /*-- top-about --*/
    #top-about {
        background: #fff;
        border-radius: 40px 40px 0 0;
        padding: 160px 0 0;
        margin-top: -60px;
        position: relative;
    }

    #top-about .img-left {
        width: 30%;
        height: calc(100% - 160px);
        border-radius: 0 40px 40px 0;
        position: absolute;
        top: 160px;
        left: 0;
    }

    #top-about .bg-txt {
        position: absolute;
        top: 160px;
        right: 0;
    }

    #top-about .sec-inner {
        display: flex;
        justify-content: flex-end;
        padding: 100px 0;
    }

    #top-about .txtArea {
        width: 720px;
    }

    #top-about h2 {
        color: #666666;
        font-size: 3.6rem;
        font-weight: 700;
        line-height: 160%;
        letter-spacing: 0.1em;
        background: url(../Images/dots-green.png) top left no-repeat;
        background-size: 35px auto;
        padding-top: 25px;
        margin-bottom: 40px;
    }

    #top-about .btn-cmn {
        width: 281px;
        margin-top: 70px;
    }

    /*-- top-service --*/
    #top-service {
        padding: 100px 0 150px;
        position: relative;
    }

    #top-service .circle {
        position: absolute;
        right: -8%;
        top: -140px;
    }

    #top-service .ctsBox-top .cts-inner .txtArea {
        flex-shrink: 0;
        width: 500px;
    }

    #top-service .ctsBox-top .cts-inner .listArea {
        width: 550px;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 10px;
    }

    #top-service .ctsBox-top .cts-inner .listArea li {
        width: 176px;
        color: #FFFFFF;
        font-weight: 700;
        text-align: center;
        background: #6ABE83;
        border-radius: 15px;
        padding: 12px 0;
    }

    #top-service .ctsBox-btm {
        margin-top: 70px;
    }

    #top-service .ctsBox-btm .cts-inner li {
        width: 540px;
    }

    #top-service .ctsBox-btm .cts-inner li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        border: 2px solid #6ABE83;
        border-radius: 15px;
        padding: 40px 30px 40px 50px;
        overflow: hidden;
        position: relative;
    }

    #top-service .ctsBox-btm .cts-inner li a:before {
        content: "";
        width: 180px;
        height: 180px;
        background: #6ABE83;
        opacity: 0.2;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: -70px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        z-index: 5;
        transition: .4s;
    }

    #top-service .ctsBox-btm .cts-inner li a:after {
        content: "\f061";
        color: #6ABE83;
        font-family: "Font Awesome 5 Free";
        font-size: 1.2rem;
        font-weight: 600;
        padding-top: 2px;
        position: relative;
        z-index: 10;
        transition: .7s;
    }

    #top-service .ctsBox-btm .cts-inner li a:hover:before {
        width: 110%;
        border-radius: 20%;
        left: -5%;
    }

    #top-service .ctsBox-btm .cts-inner li a:hover {
        padding-right: 20px;
    }

    #top-service .ctsBox-btm .cts-inner li dl dt {
        color: #6ABE83;
        font-size: 2rem;
        font-weight: 700;
    }

    #top-service .ctsBox-btm .cts-inner li dl dd {
        color: #32322C;
    }

    /*-- top-works：詳細は施工事例（#works）のところに記述 --*/
    #top-works {
        position: relative;
        padding: 130px 0 170px;
    }

    #top-works .circle {
        position: absolute;
        top: -40px;
        left: -200px;
    }

    #top-works .bg-gray {
        width: 55%;
        height: 100%;
        border-radius: 40px 0px 0px 0px;
        position: absolute;
        top: 0;
        right: 0;
    }

    #top-works .btn-cmn {
        justify-content: space-between;
        max-width: 33%;
        text-align: center;
        margin-top: 70px;
    }

    /*-- top-recruit --*/
    #top-recruit {
        position: relative;
    }

    #top-recruit .circle {
        position: absolute;
        top: -250px;
        right: -130px;
    }

    @keyframes loop {
        0% {
            transform: translateX(100%);
        }

        to {
            transform: translateX(-100%);
        }
    }

    @keyframes loop2 {
        0% {
            transform: translateX(0);
        }

        to {
            transform: translateX(-200%);
        }
    }

    #top-recruit .flow-txt {
        display: flex;
        align-items: center;
        column-gap: 1.5em;
        width: 100%;
        height: auto;
        position: absolute;
        bottom: -15px;
    }

    #top-recruit .flow-txt div {
        flex: 0 0 auto;
        color: #FFFFFF;
        font-size: 14rem;
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
        opacity: 0.5;
    }

    #top-recruit .flow-txt div:nth-child(odd) {
        animation: loop 50s -25s linear infinite;
    }

    #top-recruit .flow-txt div:nth-child(even) {
        animation: loop2 50s linear infinite;
    }

    #top-recruit .ctsBox .ctsBox-left {
        width: 50%;
        height: 720px;
        object-fit: cover;
    }

    #top-recruit .ctsBox .ctsBox-right {
        width: 50%;
        height: 720px;
        color: #fff;
        text-align: right;
        background: #6ABE83;
        padding: 140px 0 0;
    }

    #top-recruit .ctsBox .ctsBox-right .ctsBox-right-inner {
        width: 430px;
        margin: 0 auto;
    }

    #top-recruit .ctsBox .ctsBox-right h2 {
        margin-bottom: 60px;
    }

    #top-recruit .ctsBox .ctsBox-right h2 .en {
        color: #fff;
    }

    #top-recruit .ctsBox .ctsBox-right h2 .jp {
        color: #F0F1F2;
    }

    #top-recruit .ctsBox .ctsBox-right .btnArea {
        display: flex;
        justify-content: flex-end;
        margin-top: 70px;
    }

    #top-recruit .ctsBox .ctsBox-right .btnArea .btn-cmn {
        width: 320px;
    }

    .mt10 {
        margin-top: 10px !important;
    }

    /*-- top-news：お知らせ（#news）のところに記述 --*/


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

    /*--  下層ページh1 --*/
    .under .page-ttlArea {
        background: #F0F8F3;
        position: relative;
        overflow: hidden;
    }

    .under .page-ttlArea .circle {
        position: absolute;
        bottom: 0;
        right: 6%;
    }

    .under .page-ttlArea .sec-inner {
        padding: 80px 0 30px;
    }

    .under .page-ttlArea .txtArea {
        margin-bottom: 140px;
    }

    .under .page-ttlArea .txtArea p.en {
        color: #6ABE83;
        font-size: 6.2rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.2em;
        margin-bottom: 20px;
    }

    .under .page-ttlArea .txtArea h1 {
        color: #666666;
        font-size: 2.2rem;
        line-height: 1;
        letter-spacing: 0.4em;
    }

    /*-- breadcrumbs（ぱんくず） --*/
    .under #breadcrumbs {
        display: flex;
    }

    .under #breadcrumbs li {
        font-size: 1.4rem;
    }

    .under #breadcrumbs li:after {
        content: "\f061";
        color: #6ABE83;
        font-family: "Font Awesome 5 Free";
        font-size: 1.2rem;
        font-weight: 600;
        margin: 0 18px 0 22px;
    }

    .under #breadcrumbs li:last-child:after {
        content: none;
    }

    .under #breadcrumbs li p {
        color: #6ABE83;
        font-weight: 700;
    }

    .under #breadcrumbs a {
        color: #32322C;
        text-decoration: underline;
    }

    .under #breadcrumbs a:hover {
        color: #F69E53;
    }

    /*--------------------------------------------
    ながいぐみについて（#about）
--------------------------------------------*/

    #about .underNav {
        padding: 80px 0 40px;
    }

    #about .ctsBox-top {
        margin-bottom: 70px;
    }

    #about #sec01 .ctsBox {
        width: 700px;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 2;
        text-align: center;
        padding: 50px 0;
        margin: 0 auto;
        position: relative;
    }

    #about #sec01 .ctsBox .circle-01 {
        margin: 0;
        position: absolute;
        top: -110px;
        left: -110px;
    }

    #about #sec01 .ctsBox .circle-02 {
        margin: 0;
        position: absolute;
        bottom: -88px;
        right: -155px;
    }

    #about #sec02 .ctsBox {
        background: #fff;
        filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
        padding: 35px 75px 60px;
    }

    #about #sec02 td .dl-cmn {
        display: flex;
    }

    #about #sec02 td .dl-cmn dt {
        font-size: 1.6rem;
        margin: 0;
    }

    #about #sec02 .column-iso td {
        display: flex;
        align-items: center;
        gap: 30px;
    }

    #about #sec02 .column-iso td img.iso-img {
        width: 200px;
        margin: 0;
    }

    #about #sec02 .column-cv td .dl-cmn {
        column-gap: 10px;
    }

    #about #sec02 .column-cv td .dl-cmn+.dl-cmn {
        margin-top: 5px;
    }

    #about #sec02 .column-subaddress td .dl-cmn {
        column-gap: 20px;
    }

    #about #sec02 .column-subaddress td .dl-cmn dt {
        width: 95px;
    }

    #about #sec03 .ctsBox-top {
        padding: 60px 0;
    }

    #about #sec03 .ctsBox-top ul {
        width: 750px;
        margin: 0 auto;
        position: relative;
    }

    #about #sec03 .ctsBox-top ul:before {
        display: block;
        content: '';
        width: 2px;
        height: calc(100% - 20px);
        background: #6ABE83;
        position: absolute;
        top: 10px;
        left: 10px;
    }

    #about #sec03 .ctsBox-top ul li {
        display: flex;
        align-items: center;
        column-gap: 30px;
    }

    #about #sec03 .ctsBox-top ul li:before {
        display: block;
        content: '';
        width: 25px;
        height: 20px;
        background: #6ABE83;
        border-radius: 50%;
    }

    #about #sec03 .ctsBox-top ul li+li {
        margin-top: 35px;
    }

    #about #sec03 .ctsBox-top ul li .date {
        width: 21%;
        color: #6ABE83;
        font-weight: 700;
        margin-right: 20px;
    }

    #about #sec03 .ctsBox-top ul li .naiyou {
        width: 79%;
    }

    #about #sec03 .ctsBox-btm .note {
        text-align: center;
        line-height: 1.9;
        margin-bottom: 30px;
    }

    #about #sec03 .ctsBox-btm ul li {
        width: 350px;
        text-align: center;
    }

    #about #sec03 .ctsBox-btm ul li p {
        color: #6abe84;
        font-weight: 700;
        margin-top: 15px;
    }

    #about #sec04 .ctsBox {
        column-gap: 40px;
    }

    #about #sec04 .ctsBox .txtArea p+p {
        margin-top: 0.8em;
    }

    #about #sec04 .ctsBox .txtArea .btn-cmn {
        margin-top: 40px;
    }

    #about #sec04 .ctsBox-top .txtArea .btn-cmn {
        width: 380px;
    }

    #about #sec04 .ctsBox-btm .txtArea .btn-cmn {
        width: 320px;
    }

    #about #sec04 .ctsBox-btm {
        flex-direction: row-reverse;
    }

    /*--------------------------------------------
    暮らしを守る公共事業（#publicworks）
--------------------------------------------*/
    #publicworks #sec01 {
        overflow: hidden;
    }

    #publicworks #sec01 .sec-inner {
        align-items: stretch;
    }

    #publicworks #sec01 .txtArea {
        width: 530px;
    }

    #publicworks #sec01 .txtArea .fukidashi {
        margin-bottom: 30px;
    }

    #publicworks #sec01 .txtArea .fukidashi li {
        color: #6abe84;
        font-size: 2rem;
        font-weight: 700;
    }

    #publicworks #sec01 .imgArea {
        width: 530px;
        position: relative;
    }

    #publicworks #sec01 .imgArea img.circle {
        width: 90%;
        position: absolute;
        top: -150px;
        right: -57%;
        z-index: -2;
    }

    #publicworks #sec01 .imgArea img.img-01 {
        width: 75%;
        height: 280px;
        object-fit: cover;
        object-position: right bottom;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: -1;
    }

    #publicworks #sec01 .imgArea img.img-02 {
        width: 75%;
        height: 300px;
        object-fit: cover;
    }

    #publicworks #sec02 .sec-inner {
        align-items: stretch;
        column-gap: 15px;
    }

    #publicworks #sec02 li {
        width: 100%;
        text-align: center;
        background: #fff;
        filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
        padding: 40px 28px;
    }

    #publicworks #sec02 li h3 {
        font-size: 2.6rem;
    }

    #publicworks #sec02 li h3 span {
        display: block;
        color: #6abe84;
        font-size: 1.6rem;
    }

    #publicworks #sec02 li img {
        height: 120px;
        margin-bottom: 10px;
    }

    #publicworks #sec02 li p {
        font-size: 1.5rem;
        text-align: left;
    }

    #publicworks #sec03 .sec-inner {
        column-gap: 40px;
    }

    #publicworks #sec03 img {
        width: 530px;
    }

    /*--------------------------------------------
    ボランティア活動（#volunteer）
--------------------------------------------*/
    #volunteer #sec01 .ctsBox+.ctsBox {
        margin-top: 60px;
    }

    #volunteer #sec01 .flex {
        column-gap: 40px;
    }

    #volunteer #sec01 .ctsBox-inner-01.flex,
    #volunteer #sec01 .ctsBox-02.flex,
    #volunteer #sec01 .ctsBox-04.flex {
        flex-direction: row-reverse;
    }

    #volunteer #sec01 .ctsBox img {
        width: 530px;
    }

    #volunteer #sec01 .ctsBox-inner-01 {
        margin-bottom: 30px;
    }

    #volunteer #sec01 .ctsBox-04 dl {
        margin-bottom: 20px;
    }

    /*--------------------------------------------
    CSR活動（#csr）
--------------------------------------------*/
    #csr #sec01 .ctsBox+.ctsBox {
        border-top: #6abe84 3px dotted;
        padding-top: 70px;
        margin-top: 70px;
    }

    #csr #sec01 .ctsBox {
        align-items: flex-start;
        column-gap: 40px;
    }


    #csr #sec01 .ctsBox .txtArea h2 {
        font-size: 2.5rem;
        margin-bottom: 20px;
    }

    #csr #sec01 .ctsBox img {
        flex-shrink: 0;
    }

    #csr #sec01 .ctsBox-03 img {
        width: 152px;
    }

    #csr #sec02 .ctsList {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 25px;
        margin-bottom: 25px;
    }

    #csr #sec02 .ctsList li {
        width: 350px;
        text-align: center;
        background: #fff;
        filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
        padding: 40px 28px;
    }

    #csr #sec02 .ctsList li.csr_li_wide {
        width: 725px;
    }

    #csr #sec02 .ctsList li p {
        font-size: 1.8rem;
        position: relative;
    }

    #csr #sec02 .ctsList li img {
        margin: 0;
    }

    .Box-05-intro-ttl {
        text-align: center;
        font-size: 1.2em;
    }

    .Box-05-intro {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .t-left {
        text-align: left;
    }

    .t-center {
        text-align: center;
    }

    .Box-05-ttl {
        font-size: 1.2em;
        font-weight: 600;
    }

    .Box-05-flex {
        display: flex;
        margin-top: 40px;
        gap: 70px;
    }

    .tooltip {
        position: absolute;
        bottom: 9rem;
        left: 0px;
        text-align: left;
        padding: 6px 10px;
        background: #01579B;
        color: #FFF;
        font-size: 1.4rem;
        border-radius: 10px;
        transition: 0.5s;
        opacity: 0;
        filter: drop-shadow(5px 4px 2px rgba(0, 0, 0, 0.5));
    }

    .tooltip:after {
        content: "";
        position: absolute;
        top: 100%;
        left: 60px;
        border: 5px solid transparent;
        border-top: 14px solid #6ABE83;
    }

    #csr #sec02 .ctsList li p:hover .tooltip {
        opacity: 1;
    }

    .green {
        background: #6ABE83;
    }


    /*--------------------------------------------
    施工実績（#works）
--------------------------------------------*/
    #works .underNav {
        padding: 60px 0;
    }

    .works-list {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 50px 25px;
    }

    .works-list>li {
        width: 350px;
    }

    .works-list li a {
        width: 100%;
        height: 100%;
        background: #fff;
        border-radius: 15px;
        filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    }

    .works-list li .imgArea {
        background: #6ABE83;
        border-radius: 15px 15px 0 0;
        position: relative;
    }

    .works-list li .imgArea img {
        width: 100%;
        height: 250px;
        object-fit: cover;
        border-radius: 15px 15px 0 0;
    }

    .works-list li .imgArea .cate {
        display: inline-block;
        color: #FFFFFF;
        font-size: 1.4rem;
        font-weight: 700;
        background: #6ABE83;
        border-radius: 5px;
        padding: 3px 15px;
        margin: 0;
        position: absolute;
        top: 20px;
        left: -5px;
        z-index: 10;
    }

    .works-list li .tArea {
        padding: 30px 30px 35px;
    }

    .works-list li .tArea .ttl {
        color: #32322C;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 15px;
        transition: .5s;
    }

    .works-list li a:hover .tArea .ttl {
        color: #6ABE83;
    }

    .works-list li .tArea .tags li {
        color: #6ABE83;
        font-size: 1.3rem;
    }

    .works-list li .tArea .tags li:before {
        content: '#';
        margin-right: 5px;
    }

    .md-overlay {
        display: none;
        width: 100%;
        height: 100%;
        background: #333;
        position: fixed;
        top: 0;
        left: 0;
        opacity: .7;
        z-index: 9999;
    }

    .md-contents {
        display: none;
        width: 1100px;
        max-height: 100vh;
        background: #fff;
        border-radius: 15px;
        padding: 40px 0;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        overflow: hidden;
        z-index: 10000;
    }

    .md-inner {
        width: 800px;
        margin: 0 auto;
    }

    .md-xmark {
        position: absolute;
        top: 20px;
        right: 20px;
        display: block;
        width: 40px;
        height: 40px;
        border: #6ABE83 2px solid;
        border-radius: 50%;
        transition: .5s;
        cursor: pointer;
    }

    .md-xmark span {
        display: block;
        width: 17px;
        height: 2px;
        margin: auto;
        background-color: #6ABE83;
        position: absolute;
        left: 0;
        right: 0;
        top: calc((100% - 2px)/2);
        border-radius: 3px;
        transition: .2s;
    }

    .md-xmark span:nth-of-type(1) {
        transform: rotate(45deg);
    }

    .md-xmark span:nth-of-type(2) {
        transform: rotate(-45deg);
    }

    .md-inner .no-slider {
        text-align: center;
        margin: 0 auto 20px !important;
    }

    .md-inner .no-slider img {
        width: 800px;
        max-height: 55vh;
        object-fit: cover;
    }

    .md-inner .slider {
        width: 100%;
        margin: 0 auto 20px !important;
    }

    .md-inner .slider img {
        width: 800px;
        max-height: 55vh;
        object-fit: cover;
    }

    .md-inner .slide-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 20px;
        margin-top: 15px;
    }

    .md-inner .slide-dots li button {
        display: block;
        width: 15px;
        height: 15px;
        background: none;
        border: none;
        outline: none;
        padding: 0;
        position: relative;
        text-indent: -9999px;
    }

    .md-inner .slide-dots li button::before {
        content: "";
        width: 15px;
        height: 15px;
        background-image: url(../Images/works-icon-green.png);
        background-repeat: no-repeat;
        background-size: contain;
        margin: auto;
        position: absolute;
        top: 0;
        right: 0;
        cursor: pointer;
    }

    .md-inner .slide-dots li.slick-active button::before {
        background-image: url(../Images/works-icon-orange.png);
    }

    .md-inner h3 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }

    .md-inner table {
        font-size: 1.4rem;
    }

    .md-inner th {
        width: 20%;
        color: #6ABE83;
    }


    /*--------------------------------------------
    お知らせ（#news）
--------------------------------------------*/
    #news #sec01 {
        padding: 50px 0 100px;
    }

    #news #sec01 .sec-inner {
        width: 900px;
    }

    #news #sec01 .btn-cmn {
        width: 290px;
        margin: 40px auto 0;
    }

    .news-list li {
        border-bottom: 1px solid #F0F1F2;
        padding: 50px 0;
    }

    .news-list li:last-child {
        border-bottom: none;
    }

    .news-list li .date-cate {
        justify-content: flex-start;
        column-gap: 15px;
        line-height: 1;
        margin-bottom: 8px;
    }

    .news-list li .date-cate .date {
        color: #666666;
        font-size: 1.5rem;
        transition: .5s;
    }

    .news-list li .date-cate .cate {
        color: #6ABE83;
        font-size: 1.4rem;
        font-weight: 700;
        border: 1px solid #6ABE83;
        border-radius: 100px;
        padding: 7px 15px 8px;
        margin: 0;
        transition: .5s;
    }

    .news-list li .ttl {
        color: #32322C;
        font-size: 2.8rem;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0.18em;
        margin-bottom: 30px;
        transition: .5s;
    }

    .news-list li .ctsBox .dot-ttl {
        font-size: 2.4rem;
        margin-bottom: 20px;
    }

    .news-list li .ctsBox a {
        text-decoration: underline;
    }

    .news_img {
        width: 30%;
        margin: 30px 0;
    }

    .news_fl {
        display: flex;
        gap: 20px;
        margin: 30px 0;
    }

    .news_fl a {
        width: 100%;
        border: solid 1px #ddd;
    }

    .news_fl a.bdr-none {
        border: unset;
    }

    .news_fl div {
        width: 50%;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .news_fl div a {
        width: 100%;
        border: solid 1px #ddd;
    }

    .news_poster {
        width: 70%;
        margin: 30px 0;
    }

    #news .sns-list {
        display: grid;
        gap: 1.5em;
        margin: 20px 0;
    }

    #news .sns-item {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    #news .sns-item img {
        width: 70px;
        height: auto;
    }

    /*-- top-news --*/
    #top-news {
        padding: 140px 0;
        position: relative;
    }

    #top-news .circle {
        position: absolute;
        bottom: 40px;
        left: -250px;
    }

    #top-news .sec-inner {
        align-items: flex-start;
    }

    #top-news .ctsBox-right {
        width: 700px;
    }

    #top-news .news-list li {
        padding: 0;
    }

    #top-news .news-list li a {
        width: 100%;
        padding: 30px 60px 28px 0;
        position: relative;
    }

    #top-news .news-list li a:after {
        content: "\f061";
        color: #6ABE83;
        font-family: "Font Awesome 5 Free";
        font-size: 1.2rem;
        font-weight: 600;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transition: .5s;
    }

    #top-news .news-list li a .ttl {
        font-size: 1.6rem;
        line-height: 1.9;
        margin-bottom: 0;
    }

    #top-news .news-list li a:hover:after,
    #top-news .news-list li a:hover .cate,
    #top-news .news-list li a:hover .ttl {
        color: #F69E53;
    }

    #top-news .news-list li a:hover .date {
        color: #ccc;
    }

    #top-news .news-list li a:hover .cate {
        border: 1px solid #F69E53;
    }


    /*--------------------------------------------
    個人情報保護方針（#privacy）
--------------------------------------------*/
    #privacy #sec01 .ctsBox+.ctsBox {
        margin-top: 100px;
    }

    #privacy #sec01 .ctsBox-inner+.ctsBox-inner {
        margin-top: 50px;
    }

    #privacy #sec01 .dot-ttl {
        font-size: 2.4rem;
        margin-bottom: 20px;
    }

    #privacy #sec01 dl {
        margin-top: 20px;
    }

    /*--------------------------------------------
    SDGsの取り組み（#sdgs）
--------------------------------------------*/
    #sdgs #sec01 {
        padding-bottom: 50px;
    }

    #sdgs #sec01 .ctsBox {
        align-items: flex-start;
        column-gap: 80px;
    }

    #sdgs #sec01 .ctsBox .txtArea p.txt-top {
        font-size: 1.8rem;
        font-weight: 700;
    }

    #sdgs #sec01 .ctsBox .txtArea p.txt-btm {
        font-size: 1.5rem;
        margin-top: 20px;
    }

    #sdgs #sec01 .ctsBox img {
        width: 310px;
    }

    #sdgs #sec02 .ctsBox+.ctsBox {
        margin-top: 100px;
    }

    #sdgs #sec02 .ctsBox h3 {
        margin: 35px 0 15px;
    }

    #sdgs #sec02 .ctsBox h3 span {
        color: #6abe84;
        font-size: 3.2rem;
        font-weight: 700;
    }

    #sdgs #sec02 .ctsBox h3 span:after {
        display: inline-block;
        content: '';
        width: 35px;
        height: 5px;
        background: url(../Images/dots-green.png) no-repeat;
        background-size: cover;
        margin: 9px 15px 8px 5px;
    }

    #sdgs #sec02 .ctsBox .txtArea dl {
        margin-top: 30px;
    }

    #sdgs #sec02 .ctsBox .txtArea dl dt {
        margin-bottom: 8px;
    }

    #sdgs #sec02 .ctsBox .txtArea dd li {
        line-height: 1.7;
    }

    #sdgs #sec02 .ctsBox .txtArea dd li+li {
        margin-top: 8px;
    }


    /*--------------------------------------------
    お問い合わせ（#contact）
--------------------------------------------*/
    #contact #sec01 .ctsBox-01 {
        margin-bottom: 100px;
    }

    /*--  フォーム部分 --*/
    form tr {
        align-items: center;
    }

    form th {
        width: 28% !important;
    }

    form th span.tag {
        color: #fff;
        font-size: 1.4rem;
        background: #F69E53;
        border-radius: 3px;
        padding: 2px 7px 4px 9px;
        margin-right: 10px;
    }

    form th span.tag-optional {
        background: #6abe84;
    }

    form input,
    form textarea,
    form select {
        width: 100%;
        font-family: 'Noto Sans JP', "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        font-size: 1.6rem;
        letter-spacing: 0.08em;
        background: #F0F1F2;
        border: none;
        border-radius: 5px;
        padding: 8px 14px;
    }

    form input {}

    form textarea {
        line-height: 1.7;
        padding: 15px 20px;
    }

    form select {}

    form tr.address div+div {
        margin-top: 15px;
    }

    form tr.address div p {}

    form tr.address .column-01 {
        display: flex;
        align-items: center;
    }

    form tr.address .column-01 p {
        margin-right: 10px;
    }

    form tr.address .column-01 input {
        width: 20%;
    }

    form tr.address .column-01 span {
        margin: 0 9px 0 12px;
    }

    form tr.address .column-02 select {
        width: 40%;
    }

    form tr.address .column-03 {}

    form tr.address .column-04 {}

    form tr.radio {}

    form tr.radio td {}

    form tr.radio td p {
        display: flex;
        align-items: center;
        column-gap: 12px;
    }

    form tr.radio td p+p {
        margin-top: 8px;
    }

    form tr.radio td input {
        width: 18px;
        height: 18px;
    }

    form tr.radio td span {
        margin-top: -3px;
    }

    form tr.tel td {
        display: flex;
        align-items: center;
    }

    form tr.tel td input {
        width: 20%;
    }

    form tr.tel td span {
        margin: 0 9px 0 12px;
    }

    form .btn {
        width: 300px;
        background: #6ABE83;
        border: #6ABE83 2px solid;
        border-radius: 50px;
        margin: 50px auto 0;
        position: relative;
        transition: .5s;
        cursor: pointer;
    }

    form .btn:after {
        content: "\f061";
        color: #fff;
        font-family: "Font Awesome 5 Free";
        font-size: 1.4rem;
        font-weight: 600;
        position: absolute;
        top: 50%;
        right: 6%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transition: .5s;
    }

    form .btn input {
        color: #fff;
        font-size: 1.8rem;
        font-weight: 400;
        background: none;
        padding: 6px 20px 8px 0;
        transition: .5s;
    }

    form .btn:hover {
        background: #fff;
    }

    form .btn:hover:after,
    form .btn:hover input {
        color: #6ABE83;
    }

    form .btn:hover:after {
        right: 4%;
    }

    /*--  フォーム送信完了共通 --*/
    #thanks #sec01 {
        text-align: center;
    }

    #thanks #sec01 p {
        font-size: 1.7rem;
        line-height: 2;
    }

    #thanks #sec01 .btn-cmn {
        width: 300px;
        margin: 40px auto 0;
    }

    /*--------------------------------------------
    404ページ
--------------------------------------------*/
    #page404 #sec01 {
        text-align: center;
    }

    #page404 #sec01 p {
        font-size: 1.7rem;
        line-height: 2;
    }

    #page404 #sec01 .btn-cmn {
        width: 300px;
        margin: 50px auto 0;
    }

}

@media print,
screen and (min-width: 1300px) {
    .nav-parent li.has-child ul li {
        width: 18%;
        text-align: center;
    }
}
