@charset "UTF-8";
/* CSS Document */


*{ margin: 0;padding: 0; outline:none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-appearance: none; box-sizing: border-box; font-feature-settings : "palt"; font-family: 'Zen Kaku Gothic New', sans-serif; line-height: 2; letter-spacing: 0.02em; }
html { font-size: 62.5%; }
body { font-size: 16px; background: #FFF; color: #111; text-align: center; position: relative; -webkit-text-size-adjust: 100%; overflow-x: hidden; }

body.fixed {position: fixed; width: 100%; height: 100%;}

/*  */

p{font-size: 1.5rem;}
img{border: none; vertical-align: top; max-width: 100%; height: auto; }
table{border-collapse: collapse;}
ul{list-style-type: none;}
a{color: #222; text-decoration: none; }
a:hover { }


*.en{ font-family: 'Overpass', sans-serif; font-weight: normal!important; }

/* ::::::::::::::::::::::::::::::::: COMMON ::::::::::::::::::::::::::::::::: */

div.wrap { background: url(/ikada-assets/img/bg2.png) repeat left top; background-size: 2500px 600px; background-attachment: fixed; animation: bgBody 80s linear 0s infinite; }
div.wrap h2.rainbow { font-size: 3.5rem; padding: 0 0 70px; font-weight: bold; }
div.wrap h2.rainbow span {background: linear-gradient(to right, rgba(54, 204, 146, 0.6), rgba(250, 233, 67, 0.6) 86%, rgba(250, 172, 200, 0.6)); padding: 0 3px; letter-spacing: 0.15em;}

section.seg1 { background: url(/ikada-assets/img/bg1.png) repeat left top; animation: bgSeg1 2.5s linear 0s infinite; background-size: 128px 164px; position: relative; }
section.seg1 header.mainHeader { padding: 40px 45px 35px; background: url(/ikada-assets/img/line_small.png) repeat-x left -30px; background-size: 198px 40px; animation: moveCap1 6s linear 0s infinite;  display: flex; justify-content: space-between; z-index: 10; position: relative; }
section.seg1 main { padding: 0 0 60px;  }
section.seg1 div.title { padding: 0 0 40px; margin: 0 auto; width: 900px; }
section.seg1 div.title p.cap { text-align: left; animation: capH1 3s ease 0s infinite; }
section.seg1 div.title p.cap img { visibility: hidden; opacity: 0; transform: scale(0.1); transform-origin: right bottom; transition: opacity 0.2s linear, visibility 0.2s linear, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);  }
section.seg1 div.title p.cap img.on { visibility: visible; opacity: 1; transform: scale(1); }
section.seg1 div.title h1 { display: flex; justify-content: center; }
section.seg1 div.title h1 span { visibility: hidden; opacity: 0; transform: translateY(-50px); transition: opacity 0.3s linear, visibility 0.3s linear, transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); }
section.seg1 div.title h1 span.on { visibility: visible; opacity: 1; transform: translateY(0);  }
section.seg1 div.title h1 img { animation: imgH1 2s linear 0s infinite; transform-origin: center center; }
section.seg1 div.illust { width: 90%; max-width: 1600px; margin: 0 auto;  padding: 0; position: relative; opacity: 0; visibility: hidden; transition: opacity 0.7s linear, visibility 0.7s linear; }
section.seg1 div.illust.on { opacity: 1; visibility: visible; }
section.seg1 div.illust img { width: 100%; height: 100%; }
section.seg1 div.illust p.cover { position: absolute; left: 0; top: 0; width: 100%; }
section.seg1 div.illust p.c1 { animation: switchCover 1.6s linear 0s infinite; }
section.seg1 div.illust p.c2 { animation: switchCover 1.6s linear 0.8s infinite; }
section.seg1 div.illust p.part { position: absolute; width: 10%; animation: flying1 2.5s ease 0s infinite; }
section.seg1 div.illust p.p1 { left: 20%; top: 0; }
section.seg1 div.illust p.p2 { left: 80%; top: 5%; animation-delay: 1.0s; }
section.seg1 div.illust p.p3 { right: 0.5%; top: 45.5%; animation: flying2 2.5s ease 0s infinite; transform-origin: left bottom; }
section.seg1 div.illust p.p4 { right: 4%; top: 35%; animation-delay: 1.0s; }
section.seg1 div.illust p.p5 { left: 85%; top: 15%; animation-delay: 2.25s;  }
section.seg1 div.illust ul.btnList { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
section.seg1 div.illust ul.btnList li { width: 4.5%; position: absolute; opacity: 0.9; transition: all 0.3s ease; }
section.seg1 div.illust ul.btnList li:hover { transform: scale(1.2); opacity: 1; }
section.seg1 div.illust ul.btnList li::before { position: absolute; width: 100%; height: 100%; left: 0; top: 0; background: url(/ikada-assets/img/btn_open2.png) no-repeat center center; background-size: contain; content: ""; animation: btnStar 7s linear 0s infinite; }
section.seg1 div.illust ul.btnList li button { border: none; cursor: pointer; background: none; position: relative; width: 100%; left: 0; top: 0; z-index: 5; border: none; }
section.seg1 div.illust ul.btnList li button img { display: block; }
section.seg1 div.illust ul.btnList li.b1 { left: 27%; top: 5%; }
section.seg1 div.illust ul.btnList li.b2 { left: 27.5%; top: 14%; }
section.seg1 div.illust ul.btnList li.b3 { left: 40%; top: 18.5%; }
section.seg1 div.illust ul.btnList li.b4 { left: 14%; top: 24.5%; }
section.seg1 div.illust ul.btnList li.b5 { left: 34%; top: 39.5%; }
section.seg1 div.illust ul.btnList li.b6 { left: 39%; top: 44%; }
section.seg1 div.illust ul.btnList li.b7 { left: 15%; top: 41%; }
section.seg1 div.illust ul.btnList li.b8 { left: 25%; top: 48.5%; }
section.seg1 div.illust ul.btnList li.b9 { left: 47%; top: 53.5%; }
section.seg1 div.illust ul.btnList li.b10 { left: 35%; top: 64.5%; }
section.seg1 div.illust ul.btnList li.b11 { left: 39%; top: 81.5%; }
section.seg1 div.illust ul.btnList li.b12 { left: 51%; top: 79%; }
section.seg1 div.illust ul.btnList li.b13 { left: 78%; top: 14.5%; }
section.seg1 div.illust ul.btnList li.b14 { left: 92%; top: 24%; }
section.seg1 div.illust ul.btnList li.b15 { left: 81%; top: 22%; }
section.seg1 div.illust ul.btnList li.b16 { left: 57%; top: 26%; }
section.seg1 div.illust ul.btnList li.b17 { left: 74%; top: 39%; }
section.seg1 div.illust ul.btnList li.b18 { left: 75%; top: 63.5%; }
section.seg1 div.illust ul.btnList li.b19 { left: 75%; top: 70%; }
section.seg1 div.illust ul.btnList li.b20 { left: 65%; top: 72%; }
section.seg1 div.illust ul.btnList li.b21 { left: 85%; top: 87%; }

section.seg1 #load {position: absolute; width: 100%; height: 100vh; left: 0; top: 0; z-index: 5; opacity: 1; }
section.seg1 #load.off { display: none; }
section.seg1 #load span { box-sizing: border-box; position: absolute; top: 0;  left: 0; bottom: 0; right: 0; margin: auto; width: 35px; height: 35px; border: 5px solid rgba(0,0,0,0);  border-top-color: #a4d6d6; border-radius: 50%; animation: spinLoad 0.4s linear 0s infinite; transform-origin: center; }

@keyframes spinLoad {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes bgBody {
    0% { background-position: left top; }
    100% { background-position: 2500px top; }
}

@keyframes bgSeg1 {
    0% { background-position: left top; }
    100% { background-position: 128px top; }
}

@keyframes moveCap1 {
    0% { background-position: left -30px; }
    100% { background-position: -198px -30px; }
}

@keyframes moveCap2 {
    0% { background-position: left top; }
    100% { background-position: -198px top; }
}

@keyframes moveCap3 {
    0% { background-position: left bottom; }
    100% { background-position: -198px bottom; }
}

@keyframes moveCap4 {
    0% { background-position: left bottom; }
    100% { background-position: -396px bottom; }
}

@keyframes moveDic1 {
    0% { margin-left: 0; }
    100% { margin-left: -600px; }
}

@keyframes moveDic2 {
    0% { margin-left: 0; }
    100% { margin-left: -13440px; }
}

@keyframes moveCap5 {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(5px) rotate(8deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

@keyframes capH1 {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-7px) rotate(0deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

@keyframes imgH1 {
    0% { transform: translateY(0px) rotate(0deg); }
    25% { transform: translateY(-3px) rotate(3deg); }
    75% { transform: translateY(3px) rotate(-3deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

@keyframes switchCover {
    0% { opacity: 0; }
    49% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 1; }
}

@keyframes btnStar {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(180deg); }
    100% { transform: rotate(360deg); }
}

@keyframes flying1 {
    0% { transform: translateY(0px); }
    50% { transform: translateY(20px); }
    100% { transform: translateY(0px); }
}

@keyframes flying2 {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(15deg); }
    100% { transform: rotate(0deg); }
}

section.seg2 { padding: 150px 0 90px; position: relative; }
section.seg2::after { background: url(/ikada-assets/img/line_small.png) repeat-x left top; background-size: 198px 40px; animation: moveCap2 6s linear 0s infinite; content: ""; position: absolute; left: 0; top: -20px; width: 100%; height: 40px; }
section.seg2 h2.rainbow { padding: 0 0 120px; }
section.seg2 div.inner { max-width: 1400px; width: 90%; margin: 0 auto; }
section.seg2 div.inner main { display: flex; justify-content: space-between; flex-wrap: wrap; }
section.seg2 div.inner div.block { width: calc(50% - 20px); margin: 0 0 40px; background: #FFF; border-radius: 20px; border: 2px #111 solid; padding: 40px 60px 60px; position: relative; }
section.seg2 div.inner div.block h3 { font-size: 3.0rem; line-height: 1.6; padding: 0 0 30px; }
section.seg2 div.inner div.block p { font-size: 1.6rem; }
section.seg2 div.inner div.block p span { background: linear-gradient(transparent 50%, #FFF 0%); }
section.seg2 div.inner div.block p.add { position: absolute; z-index: 2; }
section.seg2 div.inner div.block.b1 { border: 10px solid #f0d6da; }
section.seg2 div.inner div.block.b1::before { content: ""; position: absolute; width: calc(100% + 20px); height: calc(100% + 20px); border-radius: 20px; left: -10px; top: -10px; border: 2px #111 solid; box-sizing: border-box; }
section.seg2 div.inner div.block.b1::after { content: ""; position: absolute; width: 100%; height: 100%; border-radius: 10px; left: 0; top: 0; border: 1px #111 solid; box-sizing: border-box; }
section.seg2 div.inner div.block.b1 p.img { padding: 30px 0 0; }
section.seg2 div.inner div.block.b2 { border: 10px solid #ffffc8; }
section.seg2 div.inner div.block.b2::before { content: ""; position: absolute; width: calc(100% + 20px); height: calc(100% + 20px); border-radius: 20px; left: -10px; top: -10px; border: 2px #111 solid; box-sizing: border-box; }
section.seg2 div.inner div.block.b2::after { content: ""; position: absolute; width: 100%; height: 100%; border-radius: 10px; left: 0; top: 0; border: 1px #111 solid; box-sizing: border-box; }
section.seg2 div.inner div.block.b2 p.img { padding: 30px 0 0; }
section.seg2 div.inner div.block.b2 p.add { right: 30px; top: -120px; animation: moveCap5 2s linear 0s infinite; transform-origin: right bottom; }
section.seg2 div.inner div.block.b3 { background: #caebee; }
section.seg2 div.inner div.block.b3 p.img { padding: 30px 0 0; }
section.seg2 div.inner div.block.b3 p.num { font-weight: bold; line-height: 1.5; }
section.seg2 div.inner div.block.b3 p.num span { font-size: 3.0rem; }
section.seg2 div.inner div.block.b3 p.num span strong { font-size: 7.6rem; font-family: "Overpass"; line-height: 1.5; letter-spacing: 0; }
section.seg2 div.inner div.block.b4 { background: #d5efd6; }
section.seg2 div.inner div.block.b4 p.img { padding: 50px 0 0; }
section.seg2 div.inner div.block.b5 { margin: 0 0 90px; }
section.seg2 div.inner div.block.b5 p.img { padding: 50px 0 0; }
section.seg2 div.inner div.block.b5 p.add,
section.seg2 div.inner div.block.b6 p.add { width: 16px; height: 16px; background: #f26a72; border-radius: 50%; border: 2px solid #111; left: 12px; top: 12px; }
section.seg2 div.inner div.block.b5 p.a2,
section.seg2 div.inner div.block.b6 p.a2 { background: #5bbac8; right: 12px; left: inherit; }
section.seg2 div.inner div.block.b5 p.a3,
section.seg2 div.inner div.block.b6 p.a3 { background: #f2d74a; bottom: 12px; top: inherit; }
section.seg2 div.inner div.block.b5 p.a4,
section.seg2 div.inner div.block.b6 p.a4 { background: #74b776; right: 12px; left: inherit; bottom: 12px; top: inherit;  }
section.seg2 div.inner div.block.b6 { margin: 0 0 90px; }
section.seg2 div.inner div.block.b6 p.img { padding: 0 0 70px; }
section.seg2 div.inner div.block.b7 { background: #f2ffe4; width: 100%; }
section.seg2 div.inner div.block.b7 p.a1 { width: 280px; height: 210px; left: -35px; top: -60px; animation: moveCap5 2s linear 0s infinite; transform-origin: right bottom; }
section.seg2 div.inner div.block.b7 p.a2 { width: 400px; height: 200px; right: 0; top: -197px; }

section.seg2 div.inner div.block.hidden { opacity: 0; transform: scale(0.8); transition: opacity 0.7s ease 0.1s, transform 0.7s ease 0.1s; }
section.seg2 div.inner div.block.hidden.show { opacity: 1; transform: scale(1); }

section.seg3 {overflow: hidden; }
section.seg3 main { padding: 0 0 30px; }
section.seg3 div.top { position: relative; z-index: 2; margin: 0 0 -20px; }
section.seg3 div.top h2 { background: url(/ikada-assets/img/line_small.png) repeat-x left bottom; background-size: 198px 40px; animation: moveCap3 6s linear 0s infinite; padding: 0 0 25px; }
section.seg3 div.top h2 span { width: 6000px; display: flex; animation: moveDic1 25s linear 0s infinite; }
section.seg3 div.top h2 img { margin: 0 120px 0 0; }
section.seg3 div.bottom { background: #e9f4f4; padding: 80px 0 0; }
section.seg3 div.bottom div.belt { width: 20000px; display: flex;  position: relative; animation: moveDic2 150s linear 0s infinite; }
section.seg3 div.bottom div.belt::after { background: url(/ikada-assets/img/line_large.png) repeat-x left bottom; background-size: 396px 80px; animation: moveCap4 30s linear 0s infinite; position: absolute; width: 100%; height: 80px; left: 0; bottom: -30px; content: ""; z-index: 1; }
section.seg3 div.bottom div.belt div.block { width: 280px; position: relative; margin: 0 20px -30px; z-index: 2; cursor: pointer; transform-origin: center bottom; transform: scale(1.0); }
section.seg3 div.bottom div.belt div.block p.message { height: 115px; padding: 0 0 20px; background: url(/ikada-assets/img/dic_message.png) no-repeat center center; background-size: 280px 115px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; line-height: 1.7; font-weight: bold; opacity: 0.2; transform-origin: center bottom; transform: scale(0.8); }
section.seg3 div.bottom div.belt div.block:hover { transform: scale(1.0); }
section.seg3 div.bottom div.belt div.block:hover p.message { opacity: 1; transform: scale(1.0); }

section.seg4 { padding: 140px 0 100px; }
section.seg4 main { width: 90%; max-width: 1000px; margin: 0 auto; }
section.seg4 main ul.linkList { display: flex; justify-content: flex-start; flex-wrap: wrap; width: calc(100% + 50px); padding: 0 0 90px; }
section.seg4 main ul.linkList li { width: calc(33.3% - 50px); margin: 0 50px 50px 0; }
section.seg4 main ul.linkList li a { display: block; transition: all 0.4s ease; transform-origin: center 5%; }
section.seg4 main ul.linkList li a:hover { opacity: 0.8; transform: rotate(-3deg); }
section.seg4 main ul.linkList li h3 { font-size: 1.7rem; padding: 10px 0 0; }
section.seg4 main ul.linkList li h3 span { padding: 0 30px 0 0; background: url(/ikada-assets/img/mark_link.png) no-repeat right center; background-size: 22px 16px; }
section.seg4 main div.sns { padding: 120px 0 50px; background: url(/ikada-assets/img/sns_title.png) no-repeat center top; background-size: 640px 240px; }
section.seg4 main div.sns ul { display: flex; justify-content: center; }
section.seg4 main div.sns ul li { width: 70px; margin: 0 15px; }

p.btnTopFooter { text-align: right; padding: 0 20px 20px 0; }

footer.mainFooter { padding: 40px 55px; background: #e7e7e7; display: flex; justify-content: space-between; align-items: center; }
footer.mainFooter ul { font-size: 1.5rem; color: #555; display: flex; justify-content: flex-start; }
footer.mainFooter ul li {padding: 0 10px 0 0;}
footer.mainFooter ul li a { color: #555; }
footer.mainFooter p.copyright { font-size: 1.2rem; }

#modal { position: fixed; width: 100%; height: 100%; padding: 0 10vh; overflow-y: auto; left: 0; top: 0; z-index: 2000; display: flex; justify-content: center; align-items: center; visibility: hidden; opacity: 0; transition: opacity 0.2s ease, visibility 0.2s ease; -webkit-overflow-scrolling : touch; }
#modal.on { visibility: visible; opacity: 1; }
#modal span.bg { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(128,213,161,0.9) 0%, rgba(247,230,67,0.9) 50%, rgba(247,169,197,0.9) 100%); }
#modal button.btnClose { border: none; background: none; position: absolute; right: 30px; top: 30px; cursor: pointer; }
#modal div.inner { position: relative; width: 100%; transform: scale(0.8); transition: transform 0.3s ease; }
#modal.on div.inner { transform: scale(1); }
#modal div.block { background: #FFF; border: 1px solid #111; border-radius: 40px; width: 100%; max-width: 1200px; padding: 95px 8%; display: none; justify-content: space-between; text-align: left; margin: 0 auto; }
#modal div.block.on { display: flex; }
#modal div.block div.left { width: 270px; }
#modal div.block div.right { width: calc(93% - 270px); }
#modal div.block h2 { font-size: 3.2rem; padding: 0 0 20px; margin: 0 0 25px; background: url(/ikada-assets/img/modal/line.png) repeat-x left bottom; background-size: 15px 5px; }
#modal div.block p { font-size: 1.6rem; }




/* ::::::::::::::::::::::::::::::::: PC ::::::::::::::::::::::::::::::::: */
@media screen and (min-width: 1000px){
    .sp{ display:none!important; }
    
    .hoverAlpha{ transition: all 0.2s ease; }
    .hoverAlpha:hover{ opacity: 0.8; }
}

/* ::::::::::::::::::::::::::::::::: SP ::::::::::::::::::::::::::::::::: */
@media screen and (max-width: 999px){
    .pc{display:none!important;}
    
    /* ::::::::::::::::::::::::::::::::: COMMON ::::::::::::::::::::::::::::::::: */

    div.wrap { background-size: 1500px 360px; overflow: hidden; background-attachment: inherit; }
    div.wrap h2.rainbow { font-size: 2.5rem; padding: 0 0 30px; font-weight: bold; }
    div.wrap h2.rainbow span {  }

    section.seg1 { background-size: 77px 98px; }
    section.seg1 header.mainHeader { padding: 30px 15px 20px; background: url(/ikada-assets/img/line_small.png) repeat-x left -20px; background-size: 148px 30px; }
    section.seg1 header.mainHeader p.logo img { width: 190px; height: auto; }
    section.seg1 main { padding: 0; }
    section.seg1 div.scroll { width: 100%; -webkit-overflow-scrolling : touch; overflow: hidden; overflow-x: auto; }
    section.seg1 div.title { padding: 0 0 20px; width: 300px; }
    section.seg1 div.title p.cap { }
    section.seg1 div.title p.cap img { width: 110px; height: auto; }
    section.seg1 div.title h1 { flex-wrap: wrap; width: 100%; margin: 0 auto; }
    section.seg1 div.title h1 span { width: 60px; }
    section.seg1 div.illust { width: 250%; margin: 0 0 -20px; }
    section.seg1 div.illust img { }
    section.seg1 div.illust p.cover { }
    section.seg1 div.illust p.c1 {  }
    section.seg1 div.illust p.c2 {  }
    section.seg1 div.illust p.part {  }
    section.seg1 div.illust p.p1 {  }
    section.seg1 div.illust p.p2 { }
    section.seg1 div.illust p.p3 { }
    section.seg1 div.illust p.p4 { }
    section.seg1 div.illust p.p5 { }
    section.seg1 div.illust ul.btnList { }
    section.seg1 div.illust ul.btnList li { }
    section.seg1 div.illust ul.btnList li:hover { transform: scale(1); }
    section.seg1 div.illust ul.btnList li::before { }
    section.seg1 div.illust ul.btnList li button { }
    section.seg1 p.note { opacity: 0; transition: opacity 0.3s linear; }
    section.seg1 p.note.on { opacity: 1; }

    @keyframes bgBody {
        0% { background-position: left top; }
        100% { background-position: 1500px top; }
    }

    @keyframes bgSeg1 {
        0% { background-position: left top; }
        100% { background-position: 77px top; }
    }

    @keyframes moveCap1 {
        0% { background-position: left -22px; }
        100% { background-position: -148px -22px; }
    }

    @keyframes moveCap2 {
        0% { background-position: left top; }
        100% { background-position: -148px top; }
    }

    @keyframes moveCap3 {
        0% { background-position: left bottom; }
        100% { background-position: -148px bottom; }
    }

    @keyframes moveCap4 {
        0% { background-position: left bottom; }
        100% { background-position: -198px bottom; }
    }

    @keyframes moveDic1 {
        0% { margin-left: 0; }
        100% { margin-left: -560px; }
    }

    @keyframes moveDic2 {
        0% { margin-left: 0; }
        100% { margin-left: -11500px; }
    }

    section.seg2 { padding: 60px 0 20px; }
    section.seg2::after { background-size: 148px 30px; top: -20px; height: 30px; }
    section.seg2 h2.rainbow { padding: 0 0 40px; }
    section.seg2 div.inner { }
    section.seg2 div.inner main { display: block; }
    section.seg2 div.inner div.block { width: 100%; margin: 0 0 20px; border-radius: 15px; border: 2px #111 solid; padding: 35px 6% 40px; }
    section.seg2 div.inner div.block h3 { font-size: 2.3rem; padding: 0 0 20px; }
    section.seg2 div.inner div.block p { font-size: 1.5rem; }
    section.seg2 div.inner div.block p.img { width: 100%; height: auto; }
    section.seg2 div.inner div.block p span {  }
    section.seg2 div.inner div.block p.add {  }
    section.seg2 div.inner div.block.b1 {  }
    section.seg2 div.inner div.block.b1 p.img { padding: 20px 0 0; }
    section.seg2 div.inner div.block.b1::before { border-radius: 15px; }
    section.seg2 div.inner div.block.b1::after { border-radius: 5px; }
    section.seg2 div.inner div.block.b2 {  }
    section.seg2 div.inner div.block.b2 p.img { padding: 5px 0 0; }
    section.seg2 div.inner div.block.b2 p.add { right: 15px; top: -40px;}
    section.seg2 div.inner div.block.b2::before { border-radius: 15px; }
    section.seg2 div.inner div.block.b2::after { border-radius: 5px; }
    section.seg2 div.inner div.block.b3 { }
    section.seg2 div.inner div.block.b3 p.img { padding: 10px 0 0; }
    section.seg2 div.inner div.block.b3 p.num { }
    section.seg2 div.inner div.block.b3 p.num span { }
    section.seg2 div.inner div.block.b3 p.num span strong { font-size: 6.0rem; }
    section.seg2 div.inner div.block.b4 { }
    section.seg2 div.inner div.block.b4 p.img { padding: 20px 0 0; }
    section.seg2 div.inner div.block.b5 { margin: 0 0 20px; }
    section.seg2 div.inner div.block.b5 p.img { padding: 30px 0 0; }
    section.seg2 div.inner div.block.b5 p.add,
    section.seg2 div.inner div.block.b6 p.add { }
    section.seg2 div.inner div.block.b5 p.a2,
    section.seg2 div.inner div.block.b6 p.a2 { }
    section.seg2 div.inner div.block.b5 p.a3,
    section.seg2 div.inner div.block.b6 p.a3 { }
    section.seg2 div.inner div.block.b5 p.a4,
    section.seg2 div.inner div.block.b6 p.a4 { }
    section.seg2 div.inner div.block.b6 { margin: 0 0 70px; }
    section.seg2 div.inner div.block.b6 p.img { padding: 0; }
    section.seg2 div.inner div.block.b7 { padding-bottom: 170px; }
    section.seg2 div.inner div.block.b7 h3 { padding: 0 0 10px; }
    section.seg2 div.inner div.block.b7 p.a1 { width: 230px; height: auto; left: inherit; right: 20px; top: inherit; bottom: -20px; }
    section.seg2 div.inner div.block.b7 p.a1 img { width: 230px; height: auto; }
    section.seg2 div.inner div.block.b7 p.a2 { width: 255px; height: 110px; right: 5px; top: -110px; }

    section.seg3 { }
    section.seg3 main {  }
    section.seg3 div.top { }
    section.seg3 div.top h2 { background-size: 148px 30px;  padding: 0 0 18px; }
    section.seg3 div.top h2 span { width: 2800px; }
    section.seg3 div.top h2 img { margin: 0 40px 0 0; width: 240px; height: 90px; }
    section.seg3 div.bottom { padding: 55px 0 0; }
    section.seg3 div.bottom div.belt { }
    section.seg3 div.bottom div.belt::after { background-size: 198px 40px; width: 100%; height: 40px; bottom: -30px; }
    section.seg3 div.bottom div.belt div.block { width: 200px; margin: 0 15px -30px; transform: scale(1.0);  }
    section.seg3 div.bottom div.belt div.block img { width: 140px; height: auto; }
    section.seg3 div.bottom div.belt div.block p.message { height: 105px; background-size: 200px 105px;  font-size: 1.4rem; line-height: 1.7; opacity: 1; transform: scale(1); }
    section.seg3 div.bottom div.belt div.block:hover { }
    section.seg3 div.bottom div.belt div.block:hover p.message { }

    section.seg4 { padding: 60px 0 50px; }
    section.seg4 main { }
    section.seg4 main ul.linkList { display: block; width: 100%; padding: 0 0 70px; }
    section.seg4 main ul.linkList li { width: 100%; margin: 0 0 25px 0; }
    section.seg4 main ul.linkList li a { }
    section.seg4 main ul.linkList li a:hover { }
    section.seg4 main ul.linkList li h3 { font-size: 1.6rem; }
    section.seg4 main ul.linkList li h3 span { }
    section.seg4 main ul.linkList li img { width: 100%; height: auto; }
    section.seg4 main div.sns { padding: 100px 0 30px; background: url(/ikada-assets/img/sns_title_sp.png) no-repeat center top; background-size: 300px 180px; }
    section.seg4 main div.sns ul { padding: 0 0 0 105px; }
    section.seg4 main div.sns ul li { width: 50px; margin: 0 5px; }
    section.seg4 main div.sns ul li img { width: 50px; height: 50px; }

    p.btnTopFooter { padding: 0 10px 10px 0; }

    footer.mainFooter { padding: 40px 15px 35px; display: block; }
    footer.mainFooter ul { font-size: 1.4rem; display: block; padding: 0 0 30px; }
    footer.mainFooter ul li {padding: 0 0 10px;}
    footer.mainFooter ul li a { }
    footer.mainFooter p.copyright { font-size: 1.1rem; }

    #modal { padding: 100px 5% 60px; display: block; }
    #modal.on { }
    #modal span.bg { }
    #modal button.btnClose { right: 5%; top: 25px; }
    #modal button.btnClose img { width: 55px; height: 55px; }
    #modal div.inner { }
    #modal.on div.inner { }
    #modal div.block { border-radius: 25px; padding: 50px 6%; }
    #modal div.block.on { display: block; }
    #modal div.block div.left { width: 100%; text-align: center; padding: 0 0 10px; }
    #modal div.block div.left img { width: 220px; height: auto; margin: 0 auto; }
    #modal div.block div.right { width: 100%; }
    #modal div.block h2 { font-size: 2.5rem; padding: 0 0 20px; margin: 0 0 25px; text-align: center; }
    #modal div.block p { font-size: 1.5rem; }
    
}