.home_page .key {
    margin-top:var(--wrapper);
    --height:60vw;
    --min-height:100px;
    --max-height:calc(100vh + var(--wrapper));
    height:var(--height);
    min-height:var(--min-height);
    max-height:var(--max-height);
    font-size:10px;
    position:relative
    }
    
    @media only screen and (min-width:1921px) {
    .home_page .key {
    max-width:1920px;
    margin-left:auto;
    margin-right:auto
    }
    }
    
    .home_page .key:after,.home_page .key:before {
    position:absolute;
    content:"";
    background-position:center;
    background-repeat:no-repeat;
    z-index:1
    }
    
    .home_page .key:before {
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    height:101%;
    background-size:auto 120%;
    background-image:url(../images/key_bg_bf.png)
    }
    
    @media only screen and (min-width:1921px) {
    .home_page .key:before {
    background-size:auto 100%
    }
    }
    
    .home_page .key:after {
    background-image:url(../images/key_ic_bf.png);
    right:1.2%;
    bottom:-3.8%;
    background-size:100% auto;
    max-width:344px;
    width:22%;
    max-height:407px;
    height:80%
    }
    
    @media only screen and (min-width:1601px) {
    .home_page .key:after {
    right:9%
    }
    }
    
    .home_page .key .inner {
    position:relative;
    padding:0;
    width:100%
    }
    
    .home_page .key .key_video {
    width:100%;
    height:100%;
    margin-left:auto;
    margin-right:auto;
    background-size:auto 100%;
    background-position:center;
    background-repeat:no-repeat;
    position:absolute;
    left:50%;
    transform:translateX(-50%)
    }
    
    .home_page .key .key_video:before {
    position:absolute;
    content:"";
    width:100%;
    height:100%;
    background-color:rgba(22,35,32,0.2);
    z-index:1
    }
    
    .home_page .key .key_video:after {
    display:none;
    position:absolute;
    content:"";
    z-index:1;
    top:30px;
    left:30px;
    width:calc(100% - 60px);
    height:calc(100% - 60px);
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% 100%;
    background-image:url(../images/keyvideo_border.png)
    }
    
    .home_page .key .key_video video {
    position:absolute;
    width:calc(100% - 20px);
    min-height:100%;
    height:100%;
    left:50%;
    min-width:100%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    top:50%;
    -o-object-fit:cover;
    object-fit:cover
    }
    
    .home_page .key .key_text {
    position:relative;
    width:100%;
    overflow:hidden
    }
    
    .home_page .key .key_text .item {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    height:var(--height);
    min-height:var(--min-height);
    max-height:var(--max-height);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat
    }
    
    .home_page .key .catch {
    max-width:60em;
    margin:auto
    }
    
    .home_page .key h2,.home_page .key p {
    color:#fff;
    font-weight:500;
    letter-spacing:.1em
    }
    
    .home_page .key h2 {
    margin-bottom:1em;
    font-size:4.2em;
    line-height:2
    }
    
    .home_page .key p {
    font-size:2em
    }
    
    .home_page .key .key_banner {
    position:fixed;
    z-index:3;
    bottom:10px;
    left:0;
    font-size:10px;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    background-image:url(../images/bg_banner.jpg);
    width:20em;
    height:10em;
    border-radius:0 2em 2em 0;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    border:1px solid #c1c1c1;
    padding-right:2.9em;
    padding-bottom:.5em;
    transition:all .3s
    }
    
    @media only screen and (min-width:769px) {
    .home_page .key .key_banner:hover {
    opacity:.7
    }
    }
    
    .home_page .key .key_banner:after,.home_page .key .key_banner:before {
    position:absolute;
    content:"";
    top:0
    }
    
    .home_page .key .key_banner:before {
    left:0;
    width:100%;
    height:100%;
    border:5px solid #fff;
    border-left:0;
    border-radius:0 2em 2em 0
    }
    
    .home_page .key .key_banner:after {
    border-radius:0 1.3em 1.3em 0;
    background-color:#50bcb7;
    width:2.3em;
    height:calc(100% - 1em);
    right:.4em;
    top:.5em;
    background-position:center;
    background-repeat:no-repeat;
    background-size:1.4em auto;
    background-image:url(../images/key_banner_arr.png)
    }
    
    .home_page .key .key_banner p {
    color:#4d4d4d;
    line-height:1;
    text-align:center;
    margin-bottom:0;
    text-shadow:0 0 3px #fff 0 3px #fff 0 3px #fff 0 3px #fff 0 3px #fff 0 3px #fff 0 3px #fff 0 3px #fff 0 3px #fff
    }
    
    .home_page .key .key_banner .jp {
    font-size:1.3em;
    letter-spacing:.17em;
    font-weight:700
    }
    
    .home_page .key .key_banner .en {
    font-size:3.5em;
    letter-spacing:.04em;
    margin-bottom:.17142em
    }
    
    .home_page .scroll {
    position:absolute;
    left:calc(50% - 23px);
    bottom:90px;
    z-index:1
    }
    
    .home_page .scroll a {
    text-decoration:none;
    color:#fff;
    font-size:14px;
    letter-spacing:.05em;
    position:relative;
    font-weight:700;
    font-family:var(--f-comfortaa);
    transition:all .3s
    }
    
    .home_page .scroll a:hover {
    opacity:1
    }
    
    .home_page .scroll a:before {
    display:block;
    content:"";
    background-position:top center;
    background-repeat:no-repeat;
    background-size:100% auto;
    height:28px;
    width:46px;
    margin-left:auto;
    margin-right:auto;
    background-image:url(../images/key_scroll.png);
    margin-bottom:7px;
    filter:brightness(0) invert(1)
    }
    
    .home_page .scroll a:hover {
    color:var(--main-color)
    }
    
    .home_page .scroll a:hover:before {
    filter:unset
    }
    
    .home_page .topic_path {
    display:none
    }
    
    .home_page h3 {
    display:table;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    font-size:10px;
    font-weight:500;
    text-align:center;
    padding-top:7.2em
    }
    
    .home_page h3:after,.home_page h3:before {
    position:absolute;
    content:"";
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% auto
    }
    
    .home_page h3:before {
    top:0;
    left:calc(50% - 3em)
    }
    
    .home_page h3:after {
    position:unset;
    display:block;
    background-image:url(../images/h3_ic.png);
    width:50em;
    height:5.7em;
    margin-top:3.1em;
    margin-left:auto;
    margin-right:auto
    }
    
    @media only screen and (min-width:1281px) {
    .home_page h3:after {
    margin-left:-10px
    }
    }
    
    .home_page h3 span {
    display:block;
    line-height:1
    }
    
    .home_page h3 .jp {
    color:var(--main-color);
    font-weight:500;
    color:#50bcb7;
    letter-spacing:.17em;
    font-size:2.2em
    }
    
    .home_page h3 .en {
    font-size:5em;
    letter-spacing:.04em;
    font-weight:400;
    margin-bottom:.5em;
    color:#4d4d4d
    }
    
    .home_page h3 .en .sm {
    font-size:.72em;
    display:inline-block;
    margin-left:.22222em;
    margin-right:.22222em;
    color:#979797
    }
    
    .home_page h3.white {
    color:#fff
    }
    
    .home_page h3.white .en {
    color:#fff
    }
    
    @media only screen and (max-width:1024px) and (min-width:769px) {
    .home_page .key .key_banner {
    font-size:8px
    }
    }
    
    @media only screen and (max-width:1560px) and (min-width:769px) and (max-height:1000px) {
    .home_page .key {
    --height:calc(100vh - var(--wrapper));
    --min-height:unset;
    --max-height:unset
    }
    
    .home_page .key:before {
    background-size:150% 120%
    }
    }
    
    @media only screen and (max-width:1366px) and (min-width:769px) {
    .home_page .key {
    font-size:8.75px;
    --height:59vw;
    --max-height:calc(100vh - var(--wrapper))
    }
    }
    
    section {
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center
    }
    
    .index01 {
    padding:120px 0 50px;
    position:relative
    }
    
    .index01:after {
    position:absolute;
    content:"";
    width:100vw;
    height:3px;
    bottom:0;
    left:calc(50% - 50vw);
    background-color:#758b90
    }
    
    .index01 .inner_big {
    max-width:100%
    }
    
    .index01 h3 {
    margin-bottom:58px
    }
    
    .index01 h3:before {
    background-image:url(../images/idx01_ich3.png);
    width:5em;
    height:3.9em
    }
    
    .index01 .TabContainer .TabPager {
    max-width:1212px;
    margin-left:auto;
    margin-right:auto;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-items:center;
    position:relative
    }
    
    .index01 .TabContainer .TabPager:before {
    position:absolute;
    content:"";
    z-index:1;
    width:100vw;
    height:3px;
    bottom:0;
    left:50%;
    right:50%;
    margin:0 -50vw;
    background-color:#758b90
    }
    
    .index01 .TabContainer .TabPager li {
    margin:0 5px;
    max-width:190px;
    width:calc(16.6666666667% - 11px);
    height:93px;
    box-shadow:none;
    padding:0;
    background-color:unset;
    transition:none;
    background-color:#fff;
    padding-bottom:3px
    }
    
    @media only screen and (min-width:1201px) {
    .index01 .TabContainer .TabPager li {
    margin:0 6px
    }
    }
    
    @media only screen and (min-width:769px) {
    .index01 .TabContainer .TabPager li:hover p {
    border:3px solid var(--main-color)
    }
    }
    
    .index01 .TabContainer .TabPager li:after,.index01 .TabContainer .TabPager li:before {
    position:absolute;
    content:"";
    opacity:0;
    visibility:hidden;
    bottom:0;
    transition:none
    }
    
    .index01 .TabContainer .TabPager li:after {
    background-color:#fff;
    left:3px;
    width:calc(100% - 6px);
    height:3px;
    border-radius:0!important
    }
    
    .index01 .TabContainer .TabPager li:before {
    border:3px solid #fff;
    width:100%;
    height:100%
    }
    
    .index01 .TabContainer .TabPager li p {
    font-size:min(18px,1.5vw);
    border:3px solid #e0e0e0;
    color:#4d4d4d;
    border-radius:10px;
    letter-spacing:.05em;
    font-weight:500;
    line-height:1.2222222222;
    width:100%;
    height:3.8888888889em;
    border-radius:10px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    transition:none
    }
    
    .index01 .TabContainer .TabPager li p:before {
    left:-3px
    }
    
    .index01 .TabContainer .TabPager li p:after {
    right:-3px
    }
    
    @media only screen and (min-width:769px) {
    .index01 .TabContainer .TabPager li.active {
    border-bottom:0;
    border-radius:10px 10px 0 0
    }
    }
    
    .index01 .TabContainer .TabPager li.active p {
    border-color:#fff;
    border:0
    }
    
    .index01 .TabContainer .TabPager li.active p:after,.index01 .TabContainer .TabPager li.active p:before {
    opacity:1;
    visibility:visible
    }
    
    .index01 .TabContainer .TabPager li.active:after,.index01 .TabContainer .TabPager li.active:before {
    opacity:1;
    visibility:visible;
    border-radius:10px 10px 0 0
    }
    
    .index01 .TabContainer .TabPager li.active:before {
    border:3px solid #758b90
    }
    
    .index01 .TabContainer .TabContent {
    max-width:1200px;
    margin-left:auto;
    margin-right:auto
    }
    
    .index01 .TabContainer .TabContent>ul {
    background-color:unset
    }
    
    .index01 .TabContainer .TabContent>ul>li {
    padding-top:63px;
    transition:none
    }
    
    .index01 .box_news {
    height:444px;
    overflow-y:auto
    }
    
    .index01 .box_news::-webkit-scrollbar {
    width:10px;
    background-color:#f7f7f7
    }
    
    .index01 .box_news::-webkit-scrollbar-track {
    border-radius:5px
    }
    
    .index01 .box_news::-webkit-scrollbar-thumb {
    background:#758b90;
    border-radius:5px
    }
    
    .index01 .box_news::-webkit-scrollbar-thumb:hover {
    background:#758b90
    }
    
    .index01 .box_news ul {
    display:flex;
    justify-content:flex-start;
    flex-wrap:wrap
    }
    
    .index01 .box_news li {
    max-width:560px;
    width:50%;
    padding:20px 0;
    position:relative;
    margin-right:41px
    }
    
    @media only screen and (min-width:1201px) {
    .index01 .box_news li:first-child,.index01 .box_news li:nth-child(2) {
    padding:10px 0 24px
    }
    }
    
    .index01 .box_news li:nth-child(2n) {
    margin-right:0
    }
    
    .index01 .box_news li:before {
    position:absolute;
    content:"";
    bottom:0;
    left:0;
    background-position:left center;
    background-repeat:repeat-x;
    background-size:auto 100%;
    background-image:url(../images/idx01_line.png);
    width:100%;
    height:4px
    }
    
    .index01 .box_news a {
    display:flex;
    text-decoration:none;
    color:#4d4d4d;
    font-family:var(--f-zenmaru)
    }
    
    .index01 .box_news .img {
    width:min(160px,15vw);
    height:min(160px,15vw);
    position:relative;
    overflow:hidden;
    border-radius:5px
    }
    
    .index01 .box_news .img:before {
    z-index:1;
    width:100%;
    height:100%;
    position:absolute;
    content:"";
    top:0;
    left:0;
    border:1px solid #3f2806;
    border-radius:5px
    }
    
    .index01 .box_news .img img {
    border-radius:5px;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%)
    }
    
    .index01 .box_news .info {
    width:calc(100% - min(160px,15vw));
    padding-left:30px;
    position:relative
    }
    
    .index01 .box_news .txt {
    display:block;
    font-size:16px;
    font-weight:500;
    line-height:1.5625;
    letter-spacing:.05em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
    }
    
    .index01 .box_news .time {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin-bottom:4px
    }
    
    .index01 .box_news .date {
    color:#79cdc9;
    font-weight:700;
    font-family:var(--f-comfortaa);
    font-size:min(15px,1.4vw);
    letter-spacing:.26em;
    margin-right:10px
    }
    
    .index01 .box_news .cate {
    font-weight:500;
    font-size:12px;
    letter-spacing:.05em;
    color:#fff;
    line-height:0;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:5px;
    height:20px;
    padding:2px 10px 2px 9px;
    background-color:var(--main-color);
    margin-right:10px;
    margin-bottom:10px
    }
    
    .index01 .box_news .cate.blog {
    background-color:#333
    }
    
    .index01 .box_news .cate.news {
    background-color:var(--clr1)
    }
    
    .index01 .box_news .cate.fuji-grand {
    background-color:red
    }
    
    .index01 .box_news .cate.pet-land {
    background-color:#fad594
    }
    
    .index01 .box_news .cate.higashi-onomichi {
    background-color:#ffc0d6
    }
    
    .index01 .box_news .cate.tatemachi {
    background-color:#b2e5f2
    }
    
    .index01 .box_news .cate.recommend {
    background-color:var(--main-color)
    }
    
    .index01 .box_news .more {
    font-size:12px;
    font-family:var(--f-comfortaa);
    font-weight:700;
    letter-spacing:.26em;
    color:#4d4d4d;
    text-transform:uppercase;
    position:absolute;
    right:0;
    bottom:0;
    padding-right:17px
    }
    
    .index01 .box_news .more:before {
    position:absolute;
    content:"";
    right:0;
    top:3px;
    width:13px;
    height:10px;
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% auto;
    background-image:url(../images/idx01_arr.png)
    }
    
    @media only screen and (min-width:1201px) {
    .index01 .box_news {
    position:relative;
    top:-13px
    }
    }
    
    @media only screen and (min-width:769px) {
    .index01 .box_news .info {
    padding-top:3px
    }
    
    .index01 .box_news .cate {
    margin-top:-2px
    }
    }
    
    @media only screen and (max-width:1200px) and (min-width:769px) {
    .index01 {
    padding-top:80px
    }
    
    .index01 .box_news .info {
    padding-left:15px
    }
    
    .index01 .box_news li {
    width:calc(50% - 20px);
    margin-right:20px
    }
    
    .index01 .box_news .txt {
    font-size:14px
    }
    }
    
    @media only screen and (max-width:1024px) and (min-width:769px) {
    .index01 .TabContainer .TabContent>ul>li {
    padding-top:30px
    }
    
    .index01 .TabContainer .TabPager li {
    height:70px
    }
    }
    
    .index02 {
    position:relative;
    z-index:1;
    max-width:1600px;
    margin-left:auto;
    margin-right:auto
    }
    
    .index02:after,.index02:before {
    position:absolute;
    content:"";
    mask-image:var(--mask);
    -webkit-mask-image:var(--mask);
    mask-repeat:no-repeat;
    -webkit-mask-repeat:no-repeat;
    mask-size:100% auto;
    -webkit-mask-size:100% auto;
    mask-position:center;
    -webkit-mask-position:center;
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% auto
    }
    
    .index02:before {
    top:15.6%;
    left:-16.5%;
    max-width:407px;
    max-height:503px;
    width:100%;
    height:100%;
    width:30%;
    height:43%;
    background-color:#dcf2f1;
    --mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 407 503' %3E%3Cpath d='M85.000,39.999 C120.717,4.871 252.836,1.820 285.398,0.721 C374.277,-2.277 436.651,98.674 391.1000,178.1000 C330.991,288.753 275.265,296.003 309.1000,345.1000 C331.042,376.287 348.038,510.379 202.000,501.1000 C145.229,498.742 33.009,406.246 6.000,278.1000 C-21.009,151.753 50.593,73.840 85.000,39.999 Z'/%3E%3C/svg%3E")
    }
    
    .index02:after {
    bottom:16.4%;
    right:-11.625%;
    max-width:360px;
    max-height:428px;
    width:30%;
    height:36%;
    background-image:url(../images/idx02_shape2.png)
    }
    
    .index02 .idx02_in {
    position:relative;
    padding-top:120px;
    padding-bottom:172px
    }
    
    .index02 .idx02_in:after,.index02 .idx02_in:before {
    position:absolute;
    content:"";
    background-repeat:no-repeat
    }
    
    .index02 .idx02_in:after {
    bottom:0;
    left:calc(50% - 50vw);
    width:100vw;
    height:88px;
    background-size:100% auto;
    background-position:bottom center;
    background-image:url(../images/idx02_bg_bottom.png)
    }
    
    @media only screen and (min-width:1601px) {
    .index02 .idx02_in:after {
    background-size:100% 100%
    }
    }
    
    .index02 .idx02_in:before {
    top:0;
    left:calc(50% - 21.3em);
    max-width:325px;
    max-height:249px;
    width:48%;
    height:30%;
    background-image:url(../images/idx02_shape1.png);
    background-position:top center;
    background-repeat:no-repeat;
    background-size:100% auto
    }
    
    .index02 h3 {
    margin-bottom:60px
    }
    
    .index02 h3:before {
    background-image:url(../images/idx02_ich3.png);
    width:4em;
    height:4em;
    left:calc(50% - 2.1em)
    }
    
    .index02 .ins_content {
    max-width:1193px;
    padding:0 10px;
    margin:0 auto
    }
    
    @media only screen and (min-width:1201px) {
    .index02 .ins_content {
    margin-top:-2px
    }
    }
    
    .index02 .TabContainer .TabPager {
    position:relative;
    z-index:3;
    align-items:center
    }
    
    .index02 .TabContainer .TabPager li {
    box-shadow:unset;
    max-width:392px;
    width:33%;
    height:90px;
    border-radius:10px;
    padding:0;
    position:relative;
    background-color:unset;
    transition:none;
    transition:all .2s
    }
    
    .index02 .TabContainer .TabPager li:before {
    position:absolute;
    content:"";
    left:0;
    bottom:-3px;
    width:100%;
    height:3px;
    opacity:0;
    visibility:hidden
    }
    
    .index02 .TabContainer .TabPager li.st1 p {
    background-color:#fad594
    }
    
    .index02 .TabContainer .TabPager li.st1:before {
    background-color:#fad594
    }
    
    .index02 .TabContainer .TabPager li.st1.active {
    background-color:#fad594
    }
    
    .index02 .TabContainer .TabPager li.st2.active {
    background-color:#ffc0d6
    }
    
    .index02 .TabContainer .TabPager li.st2 p {
    background-color:#ffc0d6
    }
    
    .index02 .TabContainer .TabPager li.st2:before {
    background-color:#ffc0d6
    }
    
    .index02 .TabContainer .TabPager li.st3.active {
    background-color:#b2e5f2
    }
    
    .index02 .TabContainer .TabPager li.st3 p {
    background-color:#b2e5f2
    }
    
    .index02 .TabContainer .TabPager li.st3:before {
    background-color:#b2e5f2
    }
    
    .index02 .TabContainer .TabPager li.active {
    border:3px solid #758b90;
    border-radius:10px 10px 0 0;
    border-bottom:0
    }
    
    .index02 .TabContainer .TabPager li.active:before {
    opacity:1;
    visibility:visible
    }
    
    .index02 .TabContainer .TabPager li.active p:hover {
    border:0
    }
    
    .index02 .TabContainer .TabPager li p {
    position:relative;
    z-index:1;
    color:#4d4d4d;
    font-size:22px;
    font-weight:500;
    letter-spacing:.05em;
    line-height:1.7;
    width:100%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    border-radius:10px;
    height:70px
    }
    
    .index02 .TabContainer .TabPager li p span {
    display:block;
    line-height:1;
    font-size:.6363636364em;
    font-weight:500;
    letter-spacing:.05em
    }
    
    @media only screen and (min-width:769px) {
    .index02 .TabContainer .TabPager li p:hover {
    border:3px solid #758B90
    }
    }
    
    .index02 .TabContainer .TabContent>ul {
    background-color:unset
    }
    
    .index02 .TabContainer .TabContent>ul>li {
    border-radius:10px;
    border:3px solid #758b90;
    transition:all .3s
    }
    
    @media only screen and (min-width:769px) {
    .index02 .TabContainer .TabContent>ul>li {
    transition-delay:.3s
    }
    }
    
    .index02 .TabContainer .TabContent>ul>li.st1 {
    background-color:#fad594
    }
    
    .index02 .TabContainer .TabContent>ul>li.st1.active {
    border-top-left-radius:0
    }
    
    .index02 .TabContainer .TabContent>ul>li.st2 {
    background-color:#ffc0d6
    }
    
    .index02 .TabContainer .TabContent>ul>li.st3 {
    background-color:#b2e5f2
    }
    
    .index02 .TabContainer .TabContent>ul>li.st3.active {
    border-top-right-radius:0
    }
    
    @media only screen and (min-width:1201px) {
    .index02 #sb_instagram #sbi_images {
    padding:12px 0 7px
    }
    
    .index02 #sb_instagram .sbi_photo {
    height:213px!important
    }
    
    .index02 .TabContainer .TabPager li.st1 p {
    padding-bottom:13px
    }
    
    .index02 .TabContainer .TabPager li.st2 p {
    padding-bottom:11px
    }
    }
    
    @media only screen and (max-width:1200px) and (min-width:769px) {
    .index02 .idx02_in {
    padding-bottom:12vw
    }
    }
    
    .index03 {
    position:relative;
    padding-top:94px;
    padding-bottom:136px
    }
    
    .index03 .inner_big {
    position:relative
    }
    
    .index03 .inner_big:before {
    position:absolute;
    content:"";
    top:-25px;
    left:-13.2%;
    max-width:318px;
    max-height:428px;
    width:30%;
    height:55%;
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% auto;
    background-image:url(../images/idx03_shapre1.png)
    }
    
    .index03:after,.index03:before {
    position:absolute;
    content:""
    }
    
    .index03:before {
    top:-60px;
    left:0;
    width:100%;
    height:calc(100% + 60px);
    background-position:center;
    background-repeat:repeat;
    background-size:100% auto;
    background-image:url(../images/idx03_bg.jpg)
    }
    
    @media only screen and (min-width:1600px) and (max-width:1919px) {
    .index03:before {
    width:1846px;
    left:-2px;
    background-size:1846px auto
    }
    }
    
    .index03:after {
    bottom:0;
    left:calc(50% - 50vw);
    background-position:bottom center;
    background-repeat:no-repeat;
    background-size:100% auto;
    background-image:url(../images/idx03_bg_bottom.png);
    width:100%;
    height:85px
    }
    
    @media only screen and (min-width:1601px) {
    .index03:after {
    background-size:100% 100%
    }
    }
    
    .index03 h3 {
    z-index:1;
    margin-bottom:60px
    }
    
    .index03 h3:before {
    background-image:url(../images/idx03_ich3.png);
    width:4.7em;
    height:4.3em
    }
    
    .index03 h4 {
    color:#fff;
    text-align:center;
    font-family:var(--f-comfortaa);
    font-weight:700;
    letter-spacing:.04em;
    font-size:min(33px,2.5vw);
    padding-top:2.15152em;
    position:relative
    }
    
    .index03 h4:before {
    position:absolute;
    content:"";
    top:0;
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% auto
    }
    
    .index03 .btn {
    width:82%;
    max-width:300px;
    background-color:#fff;
    height:40px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:20px;
    font-size:19px;
    letter-spacing:.17em;
    font-weight:500;
    color:#4d4d4d;
    position:relative
    }
    
    .index03 .btn:after {
    position:absolute;
    content:"";
    top:calc(50% - 0.3em);
    right:14px;
    width:15px;
    height:12px;
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% auto;
    background-image:url(../images/idx03_arr.png)
    }
    
    .index03 .box {
    width:33%;
    max-width:370px;
    height:250px;
    max-height:22vw;
    border-radius:21px;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    position:relative;
    z-index:1;
    margin-bottom:45px;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    padding-top:26px;
    padding-bottom:19px
    }
    
    .index03 .box:before {
    position:absolute;
    content:"";
    z-index:-1;
    border-radius:20px;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:8px solid #fff;
    transition:all .3s
    }
    
    .index03 .box.st1 {
    background-image:url(../images/idx03_img01.jpg)
    }
    
    @media only screen and (min-width:769px) {
    .index03 .box.st1 {
    padding-top:33px;
    padding-bottom:21px
    }
    }
    
    .index03 .box.st1 h4:before {
    background-image:url(../images/idx03_ic1.png);
    width:3.4848484848em;
    height:1.9090909091em;
    left:calc(50% - 1.7578em)
    }
    
    .index03 .box.st2 {
    background-image:url(../images/idx03_img02.jpg)
    }
    
    .index03 .box.st2 h4 {
    padding-top:2.3333em
    }
    
    .index03 .box.st2 h4:before {
    background-image:url(../images/idx03_ic2.png);
    width:2.4545454545em;
    height:2.2121212121em;
    left:calc(50% - 1.21212em)
    }
    
    .index03 .box.st3 {
    background-image:url(../images/idx03_img03.jpg)
    }
    
    @media only screen and (min-width:769px) {
    .index03 .box.st3 {
    padding-top:33px;
    padding-bottom:21px
    }
    }
    
    .index03 .box.st3 h4:before {
    background-image:url(../images/idx03_ic3.png);
    width:2.1515151515em;
    height:1.8484848485em;
    left:calc(50% - 1.03em)
    }
    
    .index03 .box.st4 {
    background-image:url(../images/idx03_img04.jpg)
    }
    
    @media only screen and (min-width:769px) {
    .index03 .box.st4 {
    padding-top:28px;
    padding-bottom:21px
    }
    }
    
    .index03 .box.st4 h4 {
    padding-top:2.27273em
    }
    
    .index03 .box.st4 h4:before {
    background-image:url(../images/idx03_ic4.png);
    width:3.2727272727em;
    height:2.1818181818em;
    left:calc(50% - 1.5454em)
    }
    
    .index03 .box.st5 {
    background-image:url(../images/idx03_img05.jpg)
    }
    
    .index03 .box.st5 h4 {
    padding-top:2.39394em
    }
    
    .index03 .box.st5 h4:before {
    background-image:url(../images/idx03_ic5.png);
    width:2.2424242424em;
    height:2.3939393939em;
    left:calc(50% - 1.1212em)
    }
    
    .index03 .box.st6 {
    background-image:url(../images/idx03_img06.jpg)
    }
    
    @media only screen and (min-width:769px) {
    .index03 .box.st6 {
    padding-top:36px;
    padding-bottom:21px
    }
    }
    
    .index03 .box.st6 h4 {
    padding-top:2.06061em
    }
    
    .index03 .box.st6 h4:before {
    background-image:url(../images/idx03_ic6.png);
    width:2.7272727273em;
    height:1.7575757576em;
    left:calc(50% - 1.3333em)
    }
    
    @media only screen and (min-width:769px) {
    .index03 .box:hover {
    box-shadow:rgba(0,0,0,0.24) 0 3px 8px
    }
    
    .index03 .box:hover:before {
    border-color:var(--main-color)
    }
    }
    
    @media only screen and (max-width:1200px) and (min-width:769px) {
    .index03 {
    padding-top:60px;
    padding-bottom:100px
    }
    
    .index03:before {
    top:-40px;
    height:calc(100% + 40px)
    }
    
    .index03 .box {
    margin-bottom:2vw
    }
    
    .index03 .btn {
    font-size:18px;
    height:30px
    }
    }
    
    .index04 {
    padding-top:69px;
    padding-bottom:70px;
    position:relative;
    z-index:1;
    max-width:1920px;
    margin-left:auto;
    margin-right:auto
    }
    
    .index04:after,.index04:before {
    z-index:-1;
    position:absolute;
    content:"";
    background-position:center;
    background-repeat:no-repeat;
    background-size:100% auto
    }
    
    .index04:before {
    top:42px;
    left:-7.3%;
    max-width:589px;
    max-height:241px;
    width:37%;
    height:26%;
    background-image:url(../images/idx04_shape1.png)
    }
    
    .index04:after {
    top:23%;
    right:-19%;
    max-width:450px;
    max-height:533px;
    width:29%;
    height:56%;
    background-image:url(../images/idx04_shape2.png)
    }
    
    .index04 h3 {
    margin-bottom:45px
    }
    
    .index04 h3:before {
    background-image:url(../images/idx04_ich3.png);
    width:39px;
    height:39px;
    left:calc(50% - 1.8em)
    }
    
    .index04 .box_img {
    max-width:711px;
    width:60%;
    position:relative
    }
    
    .index04 .box_txt {
    max-width:471px;
    width:40%;
    padding-top:88px
    }
    
    .index04 .box_txt>p {
    letter-spacing:.05em;
    font-weight:500;
    line-height:1.875
    }
    
    .index04 .box_txt>p:last-of-type {
    margin-bottom:0
    }
    
    .index04 h4 {
    font-size:min(28px,3vw);
    letter-spacing:.1em;
    font-weight:500;
    color:#79cdc9;
    margin-bottom:31px
    }
    
    .index04 .btn-group {
    margin-top:41px;
    display:flex;
    justify-content:space-between
    }
    
    .index04 .btn-group .btn.style01 {
    margin-bottom:0;
    max-width:220px;
    width:49%
    }
    
    @media only screen and (min-width:769px) {
    .index04 .flex {
    flex-wrap:nowrap
    }
    }
    
    @media only screen and (min-width:1201px) {
    .index04 h3 {
    padding-top:7em
    }
    
    .index04 h3:after {
    margin-top:3.15em
    }
    
    .index04 .box_img {
    top:-1px;
    left:-21px
    }
    }
    
    @media only screen and (max-width:1200px) and (min-width:769px) {
    .index04 .box_img {
    width:55%
    }
    
    .index04 .box_txt {
    width:50%
    }
    }
    
    @media only screen and (max-width:1024px) and (min-width:769px) {
    .index04 {
    padding-bottom:30px
    }
    
    .index04 .box_img {
    width:48%
    }
    
    .index04 h4 {
    margin-bottom:20px
    }
    }
    
    .idx_banner {
    padding:57px 0;
    position:relative;
    z-index:1
    }
    
    .idx_banner:before {
    position:absolute;
    content:"";
    z-index:-1;
    top:-38px;
    right:-10%;
    background-position:top center;
    background-repeat:no-repeat;
    background-size:100%;
    background-image:url(../images/idx_banner_bg.png);
    max-width:639px;
    max-height:811px;
    width:42%;
    height:259%
    }
    
    .idx_banner .bn {
    width:100%;
    max-width:800px;
    margin-left:auto;
    margin-right:auto
    }
    
    @media only screen and (max-width:1024px) and (min-width:769px) {
    .idx_banner {
    padding:30px 0
    }
    }
    
    .index0 {
    padding:100px 0;
    padding:100px 0 100px
    }
    
    .idx_map {
    height:450px
    }
    
    .idx_map iframe {
    height:100%
    }