@charset "UTF-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baselifne;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    -webkit-text-size-adjust: none;
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

button {
    background-color: #fff;
    cursor: pointer;
}

@media(min-width: 769px) {
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}

/*-----------------------------------
-------------   共通  --------------
------------------------------------*/

html {
    font-size: 62.5%;
}

body {
    width: 100%;
    font-size: 1.6rem;
}

.wrapper {
    max-width: 1000px;
    width: 96%;
    margin: 0 auto;
}

.wrapper-inner {
    max-width: 1000px;
    width: 98%;
    margin: 0 auto;
}

.wrapper02 {
    max-width: 1083px;
    width: 96%;
    margin: 0 auto;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    color: #4B4B4B;
    text-decoration: none;
}

p {
    line-height: 160%;
    font-weight: 500;
}

.cf::after {
    content: "";
    display: block;
    clear: both;
}


.pc-none {
    display: none;
}

.sp-none {
    display: block;
}

.pc-none02 {
    display: none;
}

.sp-none02 {
    display: block;
}

.fl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.fl-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.fl-bt {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.fl-wr {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.fl-ju-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.fl-ju-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.fl-al-c {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.regu {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.b-c {
    background: #003867;
}

.b-c02 {
    background: #0059A5;
}

.b-c-text {
    color: #003867;
}

.font-b {
    font-weight: bold;
}

.txt12 {
    font-size: 12px !important;
}

.tet-r {
    text-align: right !important;
}

.mb20 {
    margin-bottom: 20px;
}

.mb10 {
    margin-bottom: 10px;
}

.mt10 {
    margin-top: 10px;
}

.mt25 {
    margin-top: 25px;
}

.mt40 {
    margin-top: 40px;
}

.mt80 {
    margin-top: 80px;
}

.c01 {
    color: #ed6d34;
}

.c02 {
    color: #e64e98;
}

.c03 {
    color: #1a4c9b;
}

.c04 {
    color: #00b0ec;
}

.c05 {
    color: #45b9a6;
}

.c06 {
    color: #a54a98;
}

.c07 {
    color: #e60012;
}

@media screen and (max-width: 1024px) {
    .fl-column-lm {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media screen and (max-width: 768px) {
    body {
        font-size: 1.5rem;
    }

    .sp-none {
        display: none;
    }

    .pc-none {
        display: block;
    }

    .fl-wr-md {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .fl-column-md {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .wrapper {
        width: 94%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 600px) {
    body {
        font-size: 1.4rem;
    }

    .fl-column-ss {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .pc-none02 {
        display: block;
    }

    .sp-none02 {
        display: none;
    }

}


.br-lm {
    display: none;
}

@media screen and (max-width: 1024px) {
    .br-lm {
        display: block;
    }
}

.br-ms {
    display: none;
}

@media screen and (max-width: 600px) {
    .br-ms {
        display: block;
    }
}




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

header {
    position: fixed;
    width: 100%;
    height: auto;
    z-index: 10001;
    background-color: #fff;
    background-image: url(img/bg05.png);
    background-repeat: no-repeat;
    background-position: right 5% top;
    background-size: auto;
}

.header-left {
    margin-top: 25px;
    margin-bottom: 10px;
}

.header-left .header-logo a {
    width: 100%;
}

.header-left .header-logo img {
    width: 100%;
    max-width: 100%;
}

.header-left .header-logo02.fl {
    grid-gap: 10px;
}

.header-left .header-logo02 a {
    width: 100%;
    height: 100%;
    display: block;
    letter-spacing: 0;
}

.header-left .header-logo02 .h_btn {
    width: 180px;
    text-align: center;
    padding: 4px 2% 3px;
    font-size: 16px;
    font-weight: bold;
}

.header-left .header-logo02 .h_btn.s01 {
    border: 1px solid #0075c1;
    background-color: #fff;
    color: #0075c1;
}

.header-left .header-logo02 .h_btn.s02 {
    border: 1px solid #5a92de;
    background-color: #5a92de;
    color: #fff;
}

.nav {
    width: 100%;
}

.nav ul {
    width: 100%;
    height: 55px;
}

.nav ul li {
    width: 20%;
    position: relative;
    text-align: center;
}

.nav ul li button {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    margin-top: -4px;
    width: 100%;
}

.nav ul li::before {
    content: '';
    width: 1.5px;
    height: 40%;
    position: absolute;
    background-color: #ccc;
    left: 0;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.nav ul li:last-child::after {
    content: '';
    width: 1.5px;
    height: 40%;
    position: absolute;
    background-color: #ccc;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.nav ul li:hover > a {
    opacity: 1;
    color: #003E61;

}

.nav ul li a {
    display: block;
    font-size: 1.6rem;
    padding: 18px 0 0;
    color: #000;
    -webkit-transition: all ease 0.3s;
    transition: all ease 0.3s;
    position: relative;
    font-weight: bold;
}

.nav ul li:nth-child(2) a,
.nav ul li:nth-child(4) a,
.nav ul li:nth-child(5) a {
    padding: 11px 0 0;
}

.nav ul li a:hover span::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}


@media screen and (max-width: 1024px) {
    .nav {
        padding-top: 23px;
    }

    .header-left .header-logo a img {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    header {
        padding-top: 10px;
        background-image: none;
    }

    .header-left {
        margin-top: 5px;
        margin-bottom: 15px;
    }

    .header-left .header-logo a img {
        margin-top: 5px;
    }

    .header-left.fl-bt {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .header-left .header-logo02 img {
        margin-top: 10px;
        margin-left: 1em;
    }
}


@media screen and (max-width: 480px) {
    .header-left {
        margin: 10px 1% 15px 0;
    }

    .header-left .header-logo a img {
        width: 120px;
    }

    .header-left .header-logo02 img {
        margin-left: 1em;
        margin-top: 8px;
        width: 120px;
    }
}



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

footer {
    padding: 35px 0 30px 0;
    background: #5b86c0;
    color: #fff;
    font-size: 1.5rem;
}

footer img {
    width: 100%;
    max-width: 387px;
}

footer .add {
    width: 40%;
    color: #fff;
}

footer .add address {
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 22px;
    margin: 15px auto 10px;
}

footer .add p {
    line-height: 140%;
    margin-top: 10px;
    letter-spacing: 0.03em;
}

footer .con {
    width: 60%;
    text-align: right;
}

footer a {
    color: #fff;
}

footer .tel ul {
    width: 100%;
}

footer .tel ul li {
    margin: 0 0 5px auto;
    display: block;
}

footer .tel ul img {
    width: 100%;
    max-width: 374px;
}

footer .f-nav ul {
    margin-top: 1.4em;
    margin-bottom: 0.2em;
}

footer .f-nav li {
    font-size: 12px;
    margin: 5px 0 0 auto;
}

footer .f-nav li::before {
    content: "｜";
}

footer .f-nav li::before {
    content: "｜";
}

footer .f-nav li:last-child::after {
    content: "｜";
}

footer .f-nav p {
    font-size: 1.4rem;
}

@media screen and (max-width: 1000px) {
    footer .con {
        width: 60%;
        margin-left: 2%;
    }

    footer .con img {
        width: 90%;
    }
}

@media screen and (max-width: 768px) {
    footer {
        padding: 0 0px 45px 0px;
        text-align: center;
        padding-bottom: 8em;
    }

    footer .fl {
        display: block;
    }

    footer .add {
        width: 90%;
        font-size: 12px;
        margin: 0 auto;
    }

    footer .tel {
        display: none;
    }

    footer .con {
        width: 100%;
        margin-left: 0%;
        margin-top: 30px;
    }

    footer .con img {
        width: auto;
        max-width: 100%;
    }

    footer .f-nav ul {
        display: none;
    }

    footer .f-nav p {
        display: block;
        text-align: center;
        font-size: 12px;
    }

    footer .f-sp-nav {
        margin-bottom: 2em;
    }

    footer .f-sp-nav li {
        border-bottom: 1px solid #fff;
    }

    footer .f-sp-nav li a {
        padding: 1em;
        display: block;
    }
}





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

/* ---------------- main ------------------*/

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

main {
    padding-top: 120px;
}

main.bg {
    background-image: url(img/bg.jpg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
}

main h2 {
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    line-height: 140%;
    margin-top: 60px;
    margin-bottom: 60px;
}

main h3 {
    font-size: 27px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 120%;
}

.pc_none,
.pc_none02 {
    display: none;
}

.img_wrap img {
    max-width: 100%;
}

h2 img {
    width: auto;
    max-width: 100%;
}

@media screen and (max-width: 768px) {

    main {
        padding-top: 70px;
    }

    main.bg {
        background-image: none;
    }

    main section.con {
        padding-bottom: 70px;
    }

    main h2 {
        font-size: 24px;
        margin-top: 50px;
        margin-bottom: 50px;
    }

    .sp_none {
        display: none;
    }

    .pc_none {
        display: block;
    }
}

@media screen and (max-width: 600px) {
    main section.con {
        padding-bottom: 50px;
    }

    main h3 {
        font-size: 18px;
    }

    .sp_none02 {
        display: none;
    }

    .pc_none02 {
        display: block;
    }
}

@media screen and (max-width: 520px) {
    main section.con {
        padding-bottom: 20px;
    }

    main h2 {
        font-size: 20px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

/* -------------- TOP  ----------------*/

.main-img img {
    width: 100%;
}

.main-img {
    width: 100%;
    height: 80vh;
    position: relative;
    z-index: 0;
    background-image: url(img/bg02.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
}

.main-movie video {
    width: 100%;
}

.main-movie {
    width: 100%;
    position: relative;
    z-index: 0;
    background-color: #fff;
}

.main-img .mv_t {
    margin: 0 auto;
}

.main-img .mv_t .mvh1 {
    width: 96%;
    max-width: 774px;
    position: absolute;
    top: 10vh;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    margin: 0 auto;
    text-align: center;
}

.main-img .mv_t .mvt {
    position: absolute;
    top: 30vh;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    margin: 0 auto;
    text-align: center;
}

.main-img .mv_t img {
    width: auto;
    max-width: 100%;
    text-align: center;
}



@media screen and (max-width: 768px) {
    .top .main-img {
        width: 100%;
        height: 80vh;
        position: relative;
        z-index: 0;
        background-image: url(img/bg_sp.png);
        background-repeat: no-repeat;
        background-position: left top;
        background-size: cover;
    }
}


p.mv_descri {
    padding-top: 10px;
    font-size: 14px;
    text-align: right;
}

.bg01 {
    background-image: url(img/bg01.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: auto;
}

.bg04 {
    background-image: url(img/bg01.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: auto;
}

.first_sec {
    margin-bottom: 65px;
}

.first_sec h3 {
    text-align: center;
    margin: 70px auto 50px;
}

.first_sec .info {
    overflow-y: scroll;
    height: 160px;
}

.first_sec .info ul {
    width: 100%;
    border-top: 1.5px solid #ccc;
}

.first_sec .info ul li {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    line-height: 160%;
    align-items: center;
    border-bottom: 1.5px solid #ccc;
    transition: .2s;
    font-weight: bold;
}

.first_sec .info ul li a:hover {
    color: #ccc;
}

.first_sec .info ul li span {
    font-size: 1.4rem;
    font-weight: normal;
}

.first_sec .info ul li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 35px 20px;
}

.first_sec .info ul li {
    display: table;
}

.first_sec .info ul li .news-date {
    padding: 20px;
    color: #0075c1;
    font-weight: bold;
    font-size: 1.7rem;
    width: 150px;
    display: table-cell;
}

.first_sec .info ul li p {
    padding: 20px;
    width: 850px;
    display: table-cell;
}

.first_sec .text {
    font-size: 10px;
    text-align: right;
    margin-bottom: 2em;
}

.first_sec .text a {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .first_sec h3 {
        margin: 70px auto 10px;
    }

    p.mv_descri {
        font-size: 10px;
    }

    .first_sec .info {
        margin-top: 70px;
    }

    .first_sec .info ul li {
        width: 100%;
        line-height: 160%;
        align-items: center;
        border-bottom: 1.5px solid #ccc;
        transition: .2s;
        font-weight: bold;
    }

    .first_sec .info ul li .news-date {
        width: 15%;
    }

    .first_sec .info ul li p {
        width: 80%;
    }

    .first_sec .info ul li a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 0 20px 10px;
    }

    .first_sec .info ul li .news-date {
        font-size: 1.4rem;
        width: 100%;
        margin-bottom: 5px;
        display: inline-block;
        padding: 10px 10px 0;
        color: #1a4c9b;
        font-weight: bold;
        font-size: 1.7rem;
    }

    .box_wrap .guidelines img {
        max-width: 100%;
        margin-bottom: 10px;
    }
}


@media screen and (max-width: 600px) {
    .first_sec {
        margin-bottom: 50px;
    }

    .first_sec .info {
        margin-top: 30px;
        height: 120px;
    }

    .first_sec .info {
        background-position: top center;
        padding-top: 0;
    }

    .first_sec .info ul {
        width: 100%;
        margin-left: 0;
    }


    .first_sec .info ul li .news-date {
        font-size: 1.4rem;
    }

    .bg01 {
        background-size: 40%;
    }
}



.bg02 {
    background-image: url(img/bg02.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    text-align: center;
    padding: 105px 0 90px 0;
}


.box_wrap {
    padding: 0 0 40px 0;
    background-color: rgba(23, 90, 179, 0.5);
}

.box_wrap h3 {
    width: 100%;
    max-width: 1090px;
    padding-top: 60px;
    padding-bottom: 35px;
    background-image: url(img/bg06.png);
    background-repeat: no-repeat;
    background-position: top right;
    margin: 0 auto 0 auto;
    background-size: contain;
}

.box_wrap .fl {
    grid-gap: 2%;
}

.box_wrap a {
    width: calc(98%/ 2);
    margin-bottom: 2%;
}


@media screen and (max-width: 768px) {
    .box_wrap {
        padding: 0 0 50px 0;
    }

    .box_wrap a {
        width: 100%;
        margin-bottom: 20px;
    }

    .box_wrap h3 {
        margin-bottom: 25px;
    }

    .bg02 {
        padding: 0;
    }

    .box_wrap h3 {
        background-size: 30%;
    }

    .box_wrap h3 {
        padding-top: 30px;
        padding-bottom: 0;
        background-size: 30%;
    }
}

/* -------------- アクセス  ----------------*/

.ac {
    margin-top: 3em;
}

.ac-third {
    margin-bottom: 50px;
}

.ac-third p {
    margin-bottom: 40px;
    font-size: 14px;
}

.ac-third h4 {
    font-weight: bold;
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: 10px;
}

.ac-third .kaisetu {
    width: 60%;
}

.ac_wrap p {
    text-align: right;
    font-size: 14px;
}

.ac-third_img {
    width: auto;
    max-width: 100%;
}

@media screen and (max-width: 768px) {

    .ac-third h4 {
        font-size: 16px;
        margin-top: 20px;
        margin-bottom: 5px;
    }

    .ac img.img01 {
        order: 2;
    }

    .ac img.img02 {
        order: 1;
    }

    .ac-third .fl {
        display: block;
    }

    .ac-third .kaisetu {
        flex-direction: column;
    }

    .ac-third img {
        width: 100%;
        max-width: 100%;
        order: 1;
    }

    .ac-third h3.order02 {
        order: 2;
    }

    .ac-third p.order03 {
        order: 3;
    }

    .ac-third img.img03 {
        display: none;
    }

    .ac-third .kaisetu {
        width: 100%;
    }

    .con img {
        max-width: 100%;
        height: auto;
        width: 100%;
    }
}



/* -------------- ランドプラン  ----------------*/

.landscape_sec h2 {
    text-align: left;
    margin-bottom: 20px;
}

.landscape_sec .main-img {
    width: 100%;
    /*    height: 80vh;*/
    position: relative;
    z-index: 0;
    background-image: url(img/landscape_mv.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
}

.landscape_sec .main-img .mv_t {
    width: 88%;
    max-width: auto;
    position: absolute;
    top: 20vh;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    margin: 0 auto;
    text-align: center;
}

.landscape {
    padding-top: 5em;
    padding-left: 4%;
    width: 96%;
    margin: 0 auto;
    background-image: url(img/landscape01.png), url(img/landscape02.png);
    background-repeat: no-repeat, no-repeat;
    background-position: center top 51%, left top 52%;
    background-size: auto, auto;
    padding-bottom: 0;
    margin-bottom: 100px;
}

.landscape .community.bottom {
    margin-top: 85%;
    margin-left: 0;
}

.landscape .community.bottom .fl {
    grid-gap: 4%;
    padding-top: 100px;
}

.landscape .community .box {
    width: 48%;
    margin-bottom: 30px;
}

.landscape .community .box.last {
    width: 48%;
    margin-bottom: 0;
}

.landscape h2 img {
    width: auto;
    max-width: 100%;
}

.landscape .community h4 {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}

.landscape02 {
    width: 100%;
    margin-bottom: 100px;
}

.landscape02 .guidelines h4 {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}

.landscape02 .guidelines {
    width: 48%;
    margin-top: 60px;
}

.landscape02 .guidelines p {
    margin-bottom: 15px;
}


.landscape02 img,
.landscape03 img {
    width: auto;
    max-width: 100%;
}

.landscape03 img {
    margin-bottom: 15px;
}

.landscape-sub {
    margin-bottom: 5em;
}

@media screen and (max-width: 1024px) {
    .landscape .community.bottom .fl {
        grid-gap: 4%;
        padding-top: 160px;
    }
}

@media screen and (max-width: 900px) {
    .landscape {
        padding-left: 0;
        width: 100%;
        padding-bottom: 8em;
        margin-bottom: 0;
    }

    .landscape .community.top img {
        width: auto;
        max-width: 100%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 768px) {
    .landscape .community h4 {
        font-size: 16px;
        margin-bottom: 5px;
    }

    .landscape {
        background-image: none;
    }

    .landscape .community .box,
    .landscape .community .box.last {
        width: 100%;
        margin-bottom: 15px;
    }

    .landscape .community.bottom .fl {
        display: block;
        padding-top: 20px;
    }

    .landscape .community.bottom {
        margin-top: 0;
        margin-left: 0;
    }
}

@media screen and (max-width: 600px) {
    .landscape {
        padding-bottom: 3em;
        margin-bottom: 0;
        padding-top: 0;
    }

    .landscape02 .fl {
        display: block;
    }

    .landscape02 .guidelines {
        display: block;
        width: 100%;
        margin-top: 3em;
    }

    .landscape02 .guidelines h4 {
        font-size: 18px;
    }

    .landscape .community {
        margin-top: 30px;
        margin-left: 0;
    }

    .landscape .community h4 {
        font-size: 18px;
    }

    .landscape03 {
        padding-bottom: 20px;
    }

    .landscape03 .fl {
        display: block;
    }

    .landscape03 .box {
        width: 100%;
        display: block;
        margin-bottom: 10px;
    }

    .regu .box {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    .landscape {
        background-position: right top 20em;
        padding-bottom: 3em;
    }

    .landscape .community img {
        width: 100%;
        margin-bottom: 1em;
    }

}


/* -------------- ロケーション  ----------------*/

.location_sec {
    width: 100%;
    margin: 0 auto 5em auto;
}

.location_sec .bg03 {
    margin-bottom: 100px;
}

.location_sec .main-img {
    width: 100%;
    /*    height: 80vh;*/
    position: relative;
    z-index: 0;
    background-image: url(img/location_mv.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
}

.location_sec .main-img .mv_t {
    width: 88%;
    max-width: 525px;
    position: absolute;
    /*    top: 20vh;*/
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    margin: 0 auto;
    text-align: center;
}

.location_sec .btn_wrap {
    width: 100%;
    margin: 50px auto;
    justify-content: center;
    grid-gap: 20px;
}

.btn_wrap label,
.btn_wrap label {
    width: 300px;
    text-align: center;
    border: 1px solid #1857a2;
    padding: 12px 0;
    border-radius: 50px;
}


p.top_bottom {
    margin: 0 auto 100px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 50px;
}

.ttl01 {
    font-size: 24px;
    color: #1857a2;
}

.bg03 {
    padding: 2%;
    background-color: #f0fafb;
}

.bg03 .fl {
    margin-bottom: 10px;
}

.bg03 .text_wrap {
    width: 77%;
    margin-right: 3%;
}

.bg03 .text_wrap p {
    font-size: 14px;
}

.location_sec h4 {
    font-weight: bold;
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 10px;
}

.location_sec .location-img {
    margin-top: 40px;
}

.location_sec .location-img img {
    width: 100%;
    max-width: 100%;
}

.location_sec .imap {
    position: relative;
    padding-bottom: 55%; // これが縦横比
    height: 0;
    overflow: hidden;
}

.location_sec .imap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important
}

.location_sec .con-box {
    margin-bottom: 110px;
}

.location_sec p {
    margin-bottom: 5px;
}

.location_sec .l-lo {
    width: 100%;
}

.location_sec .r-lo {
    width: 48%;
}

.location_sec table {
    width: 100%;
}

.location_sec th {
    text-align: left;
    padding: 5px 0;
    white-space: nowrap;
    width: 60%;
}

.location_sec td {
    padding: 5px 0 5px 10px;
    white-space: nowrap;
    width: 40%;
    text-align: justify;
}

.location_sec td span {
    display: table-cell;
    width: 100%;
}

i.hidden {
    visibility: hidden !important;
}

.location_sec .text {
    width: 100%;
    margin: 25px 0;
}

.location_sec .text h3 {
    font-size: 2rem;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-weight: bold;
    border-left: none;
    margin-bottom: 5px;
    padding-left: 0;
}

.location_sec .text h3::before {
    content: "■";
    padding: 1px 0;
}

.location_sec .text-r p {
    text-align: right;
    font-size: 1.4rem;
}

.location_sec .img-photo {
    width: 100%;
    margin-top: 0;
}

.location_sec .img-photo li {
    width: 24%;
    margin-bottom: 10px;
    position: relative;
    z-index: 0;
}

.location_sec .img-photo li img {
    width: 100%;
}

.location_sec .img-photo li span {
    display: block;
    width: 96%;
    font-size: 12px;
    letter-spacing: -1px;
    position: absolute;
    left: 5px;
    bottom: 10px;
    z-index: 1;
    color: #fff;
    font-weight: bold;
    text-shadow: 2px 3px 3px black;
}

.location_sec .img-photo::after {
    content: "";
    display: block;
    width: 320px;
    /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}

.location_sec .map img {
    width: 100%;
}

.location h3 img {
    width: auto;
    margin-bottom: 1em;
}

.location img {
    width: 1000px;
}

.location .wrapper {
    max-width: 1000px;
    width: 1000px;
    margin: 0 auto;
}

.bg03 .LR_box .text_wrap {
    width: 96%;
    margin-right: 4%;
}

.LR_box .img_wrap {
    position: relative;
    z-index: 0;
}

.LR_box .fl {
    grid-gap: 10px;
}

.con_wrap.LR_box {
    margin-bottom: 50px;
}

.LR_box .fl {
    grid-gap: 10px;
}

.Park.LR_box .fl {
    width: 100%;
}

.Park.LR_box li {
    margin-bottom: 0;
}

.LR_box .left {
    width: 60%;
}

.LR_box .left .img_wrap p,
.LR_box .right .img_wrap p {
    display: block;
    width: 96%;
    font-size: 12px;
    position: absolute;
    left: 10px;
    bottom: 5px;
    z-index: 1;
    color: #fff;
    font-weight: bold;
    text-shadow: 0px 0px 7px black;
    margin-bottom: 0;
    text-align: left;
}

.LR_box .left .img_wrap {
    max-width: calc(96%/ 2);
}

.LR_box .left .img_wrap img {
    max-width: 100%;
}

.LR_box .left .text_wrap {
    margin-bottom: 25px;
    font-size: 14px;
}

.con_wrap p,
.con_wrap li {
    font-size: 14px;
    margin-bottom: 12px;
}

.LR_box .img_mb {
    margin-bottom: 10px;
}

.LR_box.styly02 {
    grid-gap: 20px;
}

.LR_box.styly02 .img_wrap {
    margin-bottom: 10px;
}

.con_wrap {
    margin-bottom: 50px;
}


.li_circle {
    margin-bottom: 20px;
}

.li_circle li {
    padding-left: 2rem;
    position: relative;
    line-height: 1.5;
    margin-bottom: 5px;
    font-weight: 600;
}

.li_circle li::before {
    content: '○';
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.6rem;
}

.Day-care .text_wrap {
    width: 100%;
}

.location_sec .img-photo.style02 li {
    width: calc(98% / 3);
    margin-bottom: 10px;
    position: relative;
    z-index: 0;
}

.location_sec .btn_wrap.style02 {
    grid-gap: 2%;
    margin-bottom: 50px;
}

.location_sec .btn_wrap.style02 .tab-label {
    width: calc(96%/ 3);
    text-align: center;
    border-radius: 50px;
    margin-bottom: 10px;
}

.location_sec .btn_wrap.style02 label {
    display: block;
    width: 100%;
    height: 100%;
    border: 0px;
    font-size: 18px;
    font-weight: bold;
    margin: 0 auto;
    background-color: #fff;
    padding: 10px 0;
    border: 1px solid #333;
    position: relative;
    transition: .2s;
    /*    color: #ef7f4d;*/
}

.location_sec .btn_wrap.style02 label:hover {
    background-color: #ef7f4d;
    color: #fff;
    border: 1px solid #ef7f4d;
    transition: .2s;
}

.location_sec .btn_wrap.style02 label::before {
    content: '▶';
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.location_sec .btn_wrap.style02 label:hover::before {
    content: '▼';
    position: absolute;
    right: 0;
    right: 1em;
}

.location_sec p.add {
    text-align: right;
    font-size: 12px;
    margin-top: 109px;
}

.Life .LR_box .left .img_wrap {
    max-width: 100%;
}


.Life .map {
    width: auto;
    max-width: 100%;
}

.Life .left {
    min-width: 250px;
}

.Life .right img {
    max-width: 100%;
}

.LR_box .left .img_wrap img {
    width: -webkit-fill-available;
    max-width: 100%;
}

.tab-wrap {
    display: flex;
    flex-wrap: wrap;
}

.tab-label {
    margin-right: 5px;
    padding: 3px 12px;
    order: -1;
}

.tab-content {
    width: 100%;
    display: none;
    margin-top: 30px;
}

.tab-switch:checked + .tab-label {
    background: DeepSkyBlue;
}

.tab-switch:checked + .tab-label + .tab-content {
    display: block;
}

.tab-switch {
    display: none;
}


.Access .ac-third.fl {
    margin-bottom: 50px;
    grid-gap: 20px;
}

.Access .img_wrap_100 img {
    max-width: 100%;
    width: auto;
}

.Access .ac-third p.mb20 {
    margin-bottom: 20px;
}



@media screen and (max-width: 1040px) {
    .institution .img_wrap {
        width: auto;
        max-width: 48%;
        margin-right: 2%;
    }

    .location img {
        width: 100%;
    }

    .location .wrapper {
        max-width: 1000px;
        width: 96%;
    }
}


@media screen and (max-width: 900px) {

    .location_sec table {
        font-size: 1.4rem;
    }

    .location02 .box {
        width: 100%;
    }

    .location02 .box02 {
        width: 100%;
    }

    .location02 .img-con.bbb {
        margin-top: 4.5em;
    }

    .location_sec .btn_wrap.style02 .tab-label {
        width: 48%;
        text-align: center;
        border-radius: 50px;
        margin-bottom: 10px;
    }

}



@media screen and (max-width: 768px) {

    .location_sec {
        margin-bottom: 3em;
    }

    .location02 .commercial .fl p {
        font-size: 12px;
    }

    .location02 .img-con p {
        font-size: 12px;
    }

    .location02 .img-con.bbb {
        margin-left: 0;
    }

    .location02 .img_wrap {
        text-align: right;
    }

    .location02 .commercial .f-box {
        width: 100%;
        max-width: 100%;
    }

    .location02 .commercial .box {
        width: 100%;
        max-width: 100%;
    }

    .location02 .institution {
        margin-top: 2em;
    }

    .institution .img_wrap {
        margin-right: 0;
    }

    .institution .img_wrap p {
        font-size: 12px;
    }

    .location_sec .con-box img {
        width: 100%;
    }

    .location_sec .l-lo {
        width: 100%;
    }

    .location_sec .r-lo {
        width: 100%;
    }

    .location_sec .text h3 {
        font-size: 1.8rem;
    }

    .location_sec .con-box {
        margin-bottom: 50px;
    }

    .location_sec .text {
        width: 100%;
        margin: 25px 0 0;
        font-size: 1.4rem;
    }

    .location_sec th {
        white-space: normal;
    }

    .location_sec .img-photo.fl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .location_sec .img-photo {
        margin-top: 30px;
    }

    .location_sec .img-photo li {
        width: 49%;
        margin-bottom: 15px;
    }

    .location_sec .img-photo li span {
        margin-top: 3px;
        font-size: 1.4rem;
    }

    .location_sec .text-r p {
        font-size: 12px;
        margin-top: 10px;
    }

    .location_sec .fl {
        display: block;
    }

    .location01 img {
        width: auto;
    }

    .location02 {
        margin-top: 40px;
    }

    .location_sec .institution .img-con {
        width: 100%;
    }

    .location_sec .btn_wrap a {
        width: 200px;
        padding: 12px 4% 5px;
        border-radius: 50px;
    }

    .location02,
    .location03 {
        background-image: none;
    }

    .location_sec h4 {
        font-size: 18px;
        margin-top: 30px;
    }

    .location_sec .img-photo li {
        width: 48%;
        margin-bottom: 15px;
    }

    .location_sec .img-photo li span {
        display: block;
        margin-top: 5px;
        font-size: 12px;
    }

    .institution .box .fl,
    .commercial .box .fl {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .institution .box,
    .commercial .box {
        width: 100%;
    }

    .institution .box .img_wrap,
    .institution .box div,
    .commercial .box div {
        width: calc(96%/ 2);
    }

    .institution .box div img,
    .commercial .box div img {
        width: 100%;
    }

    .location02 .img-con img {
        width: 100%;
        margin-left: 0;
    }

    .Park.LR_box .fl {
        width: 100%;

    }

    .LR_box .left .img_wrap {
        max-width: 100%;
    }

    .LR_box .left .img_wrap img {
        width: -webkit-fill-available;
        max-width: 100%;
    }

    .LR_box .left {
        width: 100%;
        display: flex;
        grid-gap: 2%;
    }

    .Life .LR_box .left .img_wrap {
        width: 48%;
    }

    .bg03 .LR_box .text_wrap {
        width: 100%;
        margin-right: 0%;
    }
}

@media screen and (max-width: 600px) {
    .bg03 {
        padding: 4%;
    }

    .bg03 .text_wrap {
        width: 100%;
        margin-right: 0;
    }

    .LR_box.styly02 .left {
        width: 100%;
        display: flex !important;
        grid-gap: 2%;
    }

    .location h3 img {
        margin-top: 3em;
    }
}

@media screen and (max-width: 520px) {
    .location_sec .btn_wrap.style02 .tab-label {
        width: 100%;
        text-align: center;
        border-radius: 50px;
        margin-bottom: 10px;
    }

    .location_sec .img-photo li {
        width: 48%;
        margin-bottom: 10px;
    }

    .LR_box .left {
        width: 100%;
        display: block;
        grid-gap: 2%;
    }

    .location h3 img {
        width: 100%;
    }
}


.fadein2 {
    opacity: 0;
    transform: translate(0, 150px);
    transition: all 900ms;
}

.fadein2.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

.fadein {
    animation-name: fade-in;
    animation-duration: 4s;
    /*アニメーション時間*/
    animation-timing-function: ease-out;
    /*アニメーションさせるイージング*/
    animation-delay: 0;
    /*アニメーション開始させる時間*/
    animation-iteration-count: 1;
    /*繰り返し回数*/
    animation-direction: normal;
    /*往復処理をするかどうか*/
    animation-fill-mode: backwards;
    /*アニメーション後のスタイル*/
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}




/* outline_sec */

.outline_sec h2 {
    text-align: center;
    margin: 0 auto 30px auto;
    padding: 15px 0 10px 0;
    background: #eef1f6;
}

.outline_sec .title {
    background: #0b439a;
    color: #fff;
    display: block;
    width: 260px;
    text-align: center;
    margin: 50px auto;
    font-size: 1.9rem;
    padding: 5px 0;
    font-weight: bold;
}

.outline_sec table {
    width: 100%;
    border-spacing: 0px;
    border-top: 1px solid #ccc;
    padding-bottom: 40px;
}

.outline_sec table:last-child {
    padding-bottom: 0px;
}

.outline_sec th {
    white-space: nowrap;
    background-color: #eef1f6;
    color: #2b5794;
    font-weight: bold;
    padding: 15px;
    border-bottom: 1px solid #ccc;
    width: 250px;
}

.outline_sec td {
    line-height: 1.6;
    padding: 15px;
    border-bottom: 1px solid #ccc;
}

.outline_sec .text-r p {
    text-align: right;
    font-size: 1.4rem;
    margin-bottom: 6em;
}


.img img.sp_img {
    display: none;
}

@media screen and (max-width: 768px) {
    .img img.pc_img {
        display: none;
    }

    .img img.sp_img {
        display: block;
        width: 100%;
    }

    .outline_sec table {
        border-top: none;
        padding-bottom: 0px;
    }

    .outline_sec th {
        padding: 7px 5px;
        border-bottom: none;
        width: 100%;
        display: block;
        text-align: left;
    }

    .outline_sec td {
        line-height: 1.6;
        padding: 7px 5px;
        display: block;
        border-bottom: none;
        font-size: 1.4rem;
    }

    .bkken {
        padding-top: 60px;
    }
}






/* 資料請求：見学ボタン　*/

.fix-right {
    position: fixed;
    top: 18.6vh;
    right: 0;
    display: flex;
    flex-direction: column;
}

.fix-right a:hover {
    opacity: 0.8;
}

.fix-right a {
    margin-bottom: 10px;
}



.df {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

.fix-bottom {
    background: #5b5b5b;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 2000;
}

.fix-bottom .df {
    width: 100%;
    padding: .4em 3%;
    box-sizing: border-box;
}

.fix-bottom a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #fff;
    margin: 0 .5em;
    text-align: center;
    padding: .6em 0;
    width: 100%;
    line-height: 1.2;
}

.fix-bottom a:first-of-type {
    margin-left: 0;
}

.fix-bottom a:last-of-type {
    margin-right: 0;
}

.fix-bottom img {
    width: 100%;
}

.sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block;
    }
}



.ani {
    transition: all 0.6s ease;
}

.ani-unvisi {
    opacity: 0;
}

.ani.visible {
    opacity: 1;
    transform: none;
}

.ani--lr {
    transform: translate(-100px, 0);
}

.ani--rl {
    transform: translate(100px, 0);
}

.ani--up {
    transform: translate(0, 100px);
}

.ani--down {
    transform: translate(0, -100px);
}


@media screen and (max-width: 768px) {
    .ani--up {
        transform: translate(0, 40px);
    }
}

.banner {
    margin-top: 4em;
}

.banner img {
    width: 100%;
    height: auto;
}



#a01,
#a02,
#a03,
#a04,
#a05 {
    margin-top: -200px;
    padding-top: 200px;
}



.position_sec .main-img {
    width: 100%;
    /*    height: 80vh;*/
    position: relative;
    z-index: 0;
    background-image: url(img/position_mv.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.position_sec .main-img .mv_t {
    width: 88%;
    max-width: 525px;
    position: absolute;
    /*    top: 20vh;*/
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    margin: 0 auto;
    text-align: center;
}

.position_sec .ac-third h4 {
    font-weight: bold;
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 20px;
}

.position_sec .text-c {
    text-align: center;
    font-size: 1.4rem;
}

.position_sec .img_wrap_100 {
    justify-content: space-between;
    margin-bottom: 100px;
}

.position_sec .ill {
    width: 40%;
    align-items: flex-start;
    text-align: center;
}

.position_sec .text-r {
    text-align: right;
    font-size: 1.4rem;
    margin-top: 5px;
}

.position_sec .ac-third.fl.mb0 {
    margin-bottom: 0;
}

.position_sec .ac-third.fl {
    grid-gap: 20px;
}

@media screen and (max-width: 600px) {
    .position_sec .fl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: block;
    }

    .position_sec .ill {
        display: none;
    }
}

@media screen and (max-width: 520px) {
    .position_sec .ac-third.fl {
        display: block;
    }

    .position_sec .img_wrap_100 {
        display: block;
    }

    .position_sec .ac-third.fl.mb0 {
        display: flex;
    }

}

/* -------------- レジデンス  ----------------*/

.bg_color02 {
    max-width: 1100px;
    margin: 0 auto;
    padding: 50px 0 100px;
    background: linear-gradient(90deg, #e0ebf7 0%, #e0ebf7 56%, #fff0 44%, #fff0 100%);

}

.resilince-first {
    margin-bottom: 100px;
    font-weight: 600;
}

.resilince-first:last-child {
    margin-bottom: 0;
}


.resilince-first .iot {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.resilince-first .community {
    text-align: center;
    max-width: 915px;
    margin: 0 auto;
}

.resilince-second {
    margin-bottom: 100px;
    font-weight: 600;
}

.resilince-second:last-child {
    margin-bottom: 0;
}

/*
.resilince-second .relief {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    background-image: url(img/resilince14.jpg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: contain;
    padding-top: 30px;
    padding-bottom: 300px;
}
*/

.resilince-second .relief p {
    text-shadow: 3px 3px 3px #fff, -3px -3px 3px #fff,
    -3px 3px 3px #fff, 3px -3px 3px #fff;
}

.resilince-second .relief02 {
    text-align: center;
    max-width: 770px;
    margin: 0 auto;
}

.relief02 img {
    width: auto;
    max-width: 100%;
}

.resilince-second .relief03 {
    text-align: center;
    width: auto;
    margin: 0 auto;
    background-image: url(img/resilince14.png);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 752px;
    padding-top: 30px;
    padding-bottom: 290px;
}

.resilince-first .fl img {
    width: auto;
    max-width: 100%;
}

.iot img {
    width: auto;
    max-width: 100%;
}

.relief03 img {
    width: auto;
    max-width: 100%;
}

@media screen and (max-width: 1000px) {
    .resilince-first .community {
        margin-left: 2em;
    }

    .resilince-first .community img {
        width: 100%;
    }
}

@media screen and (max-width: 900px) {
    .resilince-first .iot {
        margin-left: 2em;
    }

    .resilince-first .iot .sp-none img {
        width: 31%;
    }
}

@media screen and (max-width: 768px) {
    .resilince.con {
        margin-bottom: 0;
        padding-bottom: 3em;
    }

    .resilince-first {
        border-left: none;
        margin-bottom: 70px;
    }

    .resilince-first .iot {
        margin-left: 0;
    }

    .resilince-first .iot img {
        width: 100%;
        max-width: 100%;
        margin-top: 1em;
    }

    .resilince-first .iot {
        width: 96%;
        text-align: left;
        margin: 0 auto;
    }

    .resilince-first .community {
        text-align: left;
    }

    .resilince-first .community {
        width: 96%;
        text-align: left;
        margin: 0 auto;
    }

    .resilince-second {
        border-left: none;
        margin-bottom: 10px;
        text-align: left;
    }

    .resilince-second .relief {
        text-align: left;
        padding-top: 30px;
        padding-bottom: 0;
        background: none;
    }

    .resilince-second .relief {
        padding-top: 30px;
        padding-bottom: 0;
        background: none;
    }

    .resilince-second.f01 img {
        width: 100%;
    }

    .resilince-second .relief02 {
        width: 96%;
        text-align: left;
        padding-top: 30px;
        padding-bottom: 0;
        background: none;
    }

    .resilince-second .relief03 {
        width: 96%;
        text-align: left;
        background-image: url(img/resilince14_sp.png);
        background-size: contain;
    }

    .resilince-first .img3 img {
        width: 42%;
        margin: 0 1% 1em 1%;
    }

    .resilince-first .img3.fl-bt {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 600px) {
    .resilince-first {
        margin-bottom: 50px;
    }

    .resilince-first .fl img {
        width: 100%;
        max-width: 100%;
    }

    .relief02 img {
        width: 100%;
        max-width: 100%;
    }

    .resilince-first .iot,
    .resilince-first .community,
    .resilince-second .relief02,
    .resilince-second .relief03,
    .resilince-second .relief {
        text-align: left;
        padding-left: 0;
    }

    .resilince-first {
        border-left: 0;
    }

    .resilince-second {
        border-left: 0;
    }

    .resilince-first .img3 img {
        width: 45%;
    }
}

@media screen and (max-width: 480px) {
    .resi_h2 {
        text-align: left;
    }

    .resi_h2 img {
        width: 80%;
    }

    .resilince-first {
        margin-bottom: 3em;
    }

    .resilince-second .relief03 {
        padding-top: 30px;
        padding-bottom: 310px;
    }
}


.resilince_sec section {
    margin-bottom: 70px;
}

.resilince_sec .main-img {
    width: 100%;
    /*    height: 80vh;*/
    position: relative;
    z-index: 0;
    background-image: url(img/resilince_mv.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
}

.resilince_sec .main-img .mv_t {
    width: 88%;
    max-width: 525px;
    position: absolute;
    /*    top: 30vh;*/
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    margin: 0 auto;
    text-align: center;
}

.resilince_sec h2 {
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    line-height: 140%;
    margin-top: 0;
    padding-top: 60px;
    margin-bottom: 0;
}

.resilince_sec h2 img {
    max-width: 100%;
    margin-left: -120px;
    margin-bottom: 30px;
}

.resilince_sec p.top_bottom {
    margin: 0;
    padding-bottom: 0;
    font-size: 25px;
    margin-bottom: 10px;
    text-align: center;
}

.resilince_sec p.top_bottom_02 {
    margin: 0 auto;
    font-weight: normal;
    text-align: center;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 50px;
    font-weight: 500;
}

.resilince_sec p.top_bottom_02 span {
    font-size: 12px;
    display: block;
    margin-top: 5px;
}

@media screen and (max-width: 1070px) {
    .resilince_sec h2 img {
        margin-left: 0;
    }
}

@media screen and (max-width: 768px) {
    p.top_bottom {
        margin: 0 auto 50px;
        font-size: 20px;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .resilince_sec p.top_bottom {
        text-align: left;
    }
}

@media screen and (max-width: 600px) {
    p.top_bottom {
        margin: 0 auto 20px;
        font-size: 18px;
        padding-top: 20px;
        padding-bottom: 0;
    }
}

.resilince_sec .ac-third {
    margin-bottom: 100px;
}

.resilince_sec .img_wrap_100 {
    width: 100%;
    text-align: center;
    grid-gap: 20px;
    justify-content: center;
}

.resilince_sec .img_wrap_100 img {
    max-width: 100%;
    width: auto;
}


.resi_box01 {
    position: relative;
    min-height: 700px;
    z-index: 0;
}

.resi_box01 .img_wrap_100 {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.resilince_sec .bg_wrap {
    max-width: 1100px;
    width: 80%;
    margin: 0 auto 50px;
    padding-bottom: 30px;
}

.resilince_sec .bg06 {
    background: linear-gradient(90deg, #f0fafe 0%, #f0fafe 56%, #fff 44%, #fff 100%);
}

.resilince_sec .bg07 {
    background: linear-gradient(90deg, #e0ebf7 0%, #e0ebf7 56%, #fff 44%, #fff 100%);
    margin-bottom: 100px;
}





@media screen and (max-width: 900px) {
    .resi_box01 {
        min-height: 640px;
    }
}



@media screen and (max-width: 768px) {
    .resi_box01 {
        min-height: 580px;
    }

    .resilince_sec .bg_wrap {
        max-width: inherit;
        width: 100%;
        margin: 15px auto 50px;
        padding-bottom: 20px;
    }

    .resilince_sec p.top_bottom {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .resilince_sec p.top_bottom_02 {
        margin-bottom: 10px;
        text-align: left;
    }
}

@media screen and (max-width: 600px) {
    .resilince_sec section {
        margin-bottom: 20px;
    }

    .resi_box01 {
        min-height: 500px;
    }

    .resilince_sec p.top_bottom {
        font-size: 18px;
        margin-bottom: 5px;
    }
}


@media screen and (max-width: 600px) {
    p.top_bottom {
        margin: 0 auto 20px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .resilince_sec .img_wrap_100 img {
        width: 100%;
        margin-bottom: 1em;
    }
}

.img_wrap_100 img {
    max-width: 100%;
    width: auto;
}



.main-img .mv_t {
    top: 30vh !important;
}


@media screen and (max-width: 600px) {
    .main-img {
        height: 40vh;
    }

    .main-img .mv_t {
        width: 94%;
        max-width: inherit;
        top: 15vh !important;
    }
}





.tabs {
    display: flex;
    flex-wrap: wrap;
}

.tab_label {
    width: 300px;
    color: #13c3ac;
    font-weight: bold;
    border: 1px solid #1857a2;
    position: relative;
    z-index: 1;
    cursor: pointer;
    padding: 5px 50px;
    margin: 0 1em;
    display: block;
    text-align: center;
    border-radius: 50px;
    margin-bottom: 2em;
}

#tab01 {
    color: #13c3ac;
    font-weight: bold;
    border: 1px solid #1857a2;
    position: relative;
    z-index: 1;
    cursor: pointer;
    flex: 1;
    padding: 5px 0;
    margin: 0 5px;
}

.tab_label:hover {
    opacity: 0.75;
}

.tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
}

input[name="tab_switch"] {
    display: none;
}

.tabs input:checked + .tab_label {
    color: #fff;
    background-color: #afd1ff;
    border: 1px solid #afd1ff;
}

#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content {
    display: block;
}

.tab_content {
    position: relative;
    animation: fadeIn 1s ease;
}
