*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)) {
    all: unset;
    display: revert
}

*,*::before,*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none
}

a,button {
    cursor: revert
}

ol,ul,menu {
    list-style: none
}

img {
    max-inline-size: 100%;
    max-block-size: 100%
}

table {
    border-collapse: collapse
}

input,textarea {
    -webkit-user-select: auto
}

textarea {
    white-space: revert
}

meter {
    -webkit-appearance: revert;
    -moz-appearance: revert;
    appearance: revert
}

:where(pre) {
    all: revert;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

::-webkit-input-placeholder {
    color: unset
}

::-moz-placeholder {
    color: unset
}

:-ms-input-placeholder {
    color: unset
}

::-ms-input-placeholder {
    color: unset
}

::placeholder {
    color: unset
}

::marker {
    content: initial
}

:where([hidden]) {
    display: none
}

:where([contenteditable]:not([contenteditable=false])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto
}

:where([draggable=true]) {
    -webkit-user-drag: element
}

:where(dialog:modal) {
    all: revert;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@-webkit-keyframes tit-fadein {
    0% {
        background-size: 110% auto
    }

    100% {
        background-size: 100% auto
    }
}

@keyframes tit-fadein {
    0% {
        background-size: 110% auto
    }

    100% {
        background-size: 100% auto
    }
}

@-webkit-keyframes scale-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale3d(1.2, 1.2, 1.2);
        transform: translate(-50%, -50%) scale3d(1.2, 1.2, 1.2)
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%) scale3d(1, 1, 1);
        transform: translate(-50%, -50%) scale3d(1, 1, 1)
    }
}

@keyframes scale-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale3d(1.2, 1.2, 1.2);
        transform: translate(-50%, -50%) scale3d(1.2, 1.2, 1.2)
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%) scale3d(1, 1, 1);
        transform: translate(-50%, -50%) scale3d(1, 1, 1)
    }
}

@-webkit-keyframes bottom-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        transform: translateY(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes bottom-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        transform: translateY(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadein {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes left-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes left-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes right-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes right-fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

img.gray {
    display: block;
    width: 100%;
    padding: 40% 0 0 0;
    background: #ccc
}

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

html {
    font-size: 62.5%
}

body {
    background: #fff;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 1.6rem;
    font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Meiryo,メイリオ,"游ゴシック Medium","Yu Gothic Medium","游ゴシック体","Yu Gothic",YuGothic,"MS PGothic",Osaka,arial,sans-serif;
    color: #000;
    line-height: 1.5;
    overflow-x: hidden
}

@media screen and (max-width: 1000px) {
    body.fixed {
        height:100%;
        overflow: hidden
    }
}

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

a {
    color: #000;
    text-decoration: underline;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

a:hover {
    text-decoration: none
}

img {
    width: auto;
    height: auto;
    max-width: 100%;
    vertical-align: bottom
}

p {
    margin: 0 0 30px
}

ul,ol,li {
    list-style: none
}

button {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

button:hover {
    cursor: pointer
}

.container {
    max-width: 1200px;
    margin: 0 auto
}

@media screen and (max-width: 1280px) {
    .container {
        margin:0 40px
    }
}

@media screen and (max-width: 768px) {
    .container {
        margin:0 20px
    }
}

.pc {
    display: block
}

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

.tb {
    display: none
}

@media screen and (max-width: 768px) {
    .tb {
        display:block
    }
}

.sp {
    display: none
}

@media screen and (max-width: 480px) {
    .sp {
        display:block
    }
}

.anim {
    opacity: 0
}

.anim.bottom {
    -webkit-transform: translateY(50px);
    transform: translateY(50px)
}

.anim.bottom.is-act {
    -webkit-animation: bottom-fadein .5s ease .1s forwards;
    animation: bottom-fadein .5s ease .1s forwards
}

.anim.left {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px)
}

.anim.left.is-act {
    -webkit-animation: left-fadein .5s ease .1s forwards;
    animation: left-fadein .5s ease .1s forwards
}

.anim.right {
    -webkit-transform: translateX(50px);
    transform: translateX(50px)
}

.anim.right.is-act {
    -webkit-animation: right-fadein .5s ease .1s forwards;
    animation: right-fadein .5s ease .1s forwards
}

.anim.scale {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
    transform: scale3d(1.2, 1.2, 1.2)
}

.anim.scale.is-act {
    -webkit-animation: scale-fadein 1s ease .1s forwards;
    animation: scale-fadein 1s ease .1s forwards
}

.anim.fadein {
    opacity: 0
}

.anim.fadein.is-act {
    -webkit-animation: fadein 1s ease .1s forwards;
    animation: fadein 1s ease .1s forwards
}

.anim-list>* {
    opacity: 0
}

.anim-list>*.is-act {
    -webkit-animation: fadein .5s ease 0s forwards;
    animation: fadein .5s ease 0s forwards
}

.tit-sec {
    font-size: 4rem;
    margin: 0 auto 6rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center
}

@media screen and (max-width: 768px) {
    .tit-sec {
        font-size:2.8rem;
        margin: 0 auto 4rem
    }
}

main>* {
    width: 100%;
    padding: 100px 0;
    overflow-x: hidden
}

main>*#mv {
    padding: 0
}

main>*#mv img {
    width: 100%
}

main>*#problem .container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

main>*#problem .container ul li {
    width: 30%;
    padding: 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 10px
}

main>*#problem .container ul li:after {
    content: "";
    display: block;
    width: 160px;
    height: 202px;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain
}

main>*#problem .container ul li:first-child:after {
    background-image: url(../images/img_problem01.svg)
}

main>*#problem .container ul li:nth-child(2):after {
    background-image: url(../images/img_problem02.svg)
}

main>*#problem .container ul li:nth-child(3):after {
    background-image: url(../images/img_problem03.svg)
}

@media screen and (max-width: 768px) {
    main>*#problem .container ul {
        display:-webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 30px
    }

    main>*#problem .container ul li {
        width: 100%;
        padding: 0 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 10px
    }

    main>*#problem .container ul li:after {
        content: "";
        display: block;
        width: 160px;
        height: 202px;
        background-position: center bottom;
        background-repeat: no-repeat;
        background-size: contain
    }
}

main>*#solution {
    position: relative;
    background: #f0f0f0
}

main>*#solution:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 120px solid rgba(0,0,0,0);
    border-left: 120px solid rgba(0,0,0,0);
    border-top: 70px solid #fff;
    border-bottom: 0;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
}

main>*#solution .container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 5%
}

main>*#solution .container ul li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

main>*#solution .container ul li img {
    margin-bottom: 2rem
}

main>*#solution .container ul li .tit-list {
    font-size: 2rem;
    margin-bottom: 2rem;
    text-align: center;
    font-weight: 600
}

main>*#solution .container ul li p {
    margin: 0
}

@media screen and (max-width: 768px) {
    main>*#solution .container ul {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 30px
    }

    main>*#solution .container ul li {
        text-align: center
    }

    main>*#solution .container ul li .tit-list {
        font-size: 1.6rem;
        margin-bottom: 1rem
    }
}

main>*#about .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 50px 0
}

main>*#about .container .title {
    width: 195px
}

main>*#about .container .txt {
    width: calc(100% - 220px)
}

main>*#about .container .txt p {
    font-size: 2.4rem;
    margin: 0
}

main>*#about .container .img {
    width: 100%
}

@media screen and (max-width: 768px) {
    main>*#about .container {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    main>*#about .container .txt {
        width: 100%
    }

    main>*#about .container .txt p {
        font-size: 1.8rem
    }
}

main>*#features {
    background: #f0f0f0
}

main>*#features .container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: 30px 5%;
    margin-bottom: 60px
}

main>*#features .container ul li {
    width: 30%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
    text-align: center
}

main>*#features .container ul li p {
    font-size: clamp(1.6rem,2vw,2.4rem)
}

main>*#features .container ul li p sup {
    vertical-align: super;
    font-size: smaller
}

main>*#features .container ul li img {
    background: #fff;
    -webkit-box-shadow: 10px 10px 0 rgba(0,0,0,.25);
    box-shadow: 10px 10px 0 rgba(0,0,0,.25)
}

@media screen and (max-width: 768px) {
    main>*#features .container ul li img {
        -webkit-box-shadow:5px 5px 0 rgba(0,0,0,.25);
        box-shadow: 5px 5px 0 rgba(0,0,0,.25)
    }
}

main>*#features .container ul li img {
    padding: 20px
}

main>*#features .container small {
    display: block
}

@media screen and (max-width: 768px) {
    main>*#features .container ul {
        gap:30px 4%
    }

    main>*#features .container ul li {
        width: 48%
    }
}

main>*#advertisement {
    background: #c3e7f6;
    color: #58411f
}

main>*#advertisement .container .catch {
    font-size: clamp(3.7rem,1.848rem + 4.2vw,5rem);
    text-align: center;
    margin: 0 auto 60px
}

main>*#advertisement .container .catch>span {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(249, 214, 33, 0)), color-stop(50%, rgba(249, 214, 33, 0)), color-stop(51%, #fffed0), color-stop(99%, #fffed0), to(#fffed0));
    background: -webkit-linear-gradient(top, rgba(249, 214, 33, 0) 0%, rgba(249, 214, 33, 0) 50%, #fffed0 51%, #fffed0 99%, #fffed0 100%);
    background: linear-gradient(to bottom, rgba(249, 214, 33, 0) 0%, rgba(249, 214, 33, 0) 50%, #fffed0 51%, #fffed0 99%, #fffed0 100%)
}

main>*#advertisement .container .catch>span span {
    font-size: clamp(7rem,1rem + 12vw,9rem)
}

main>*#advertisement .container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: 60px 4%
}

main>*#advertisement .container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 20px;
    width: 48%
}

main>*#advertisement .container ul li .txt {
    width: 100%;
    text-align: center
}

main>*#advertisement .container ul li .txt .title {
    font-size: clamp(2.8rem,3vw,3.6rem);
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 2rem
}

main>*#advertisement .container ul li .img {
    width: 100%;
    background: #fff;
    -webkit-box-shadow: 10px 10px 0 rgba(0,0,0,.25);
    box-shadow: 10px 10px 0 rgba(0,0,0,.25)
}

@media screen and (max-width: 768px) {
    main>*#advertisement .container ul li .img {
        -webkit-box-shadow:5px 5px 0 rgba(0,0,0,.25);
        box-shadow: 5px 5px 0 rgba(0,0,0,.25)
    }
}

main>*#advertisement .container ul li:nth-child(3) {
    width: 100%
}

main>*#advertisement .container ul li:nth-child(3) .img {
    width: 100%
}

@media screen and (max-width: 768px) {
    main>*#advertisement .container .catch {
        font-size:clamp(1.9rem,-0.664rem + 5.82vw,3.7rem)
    }

    main>*#advertisement .container .catch>span span {
        font-size: clamp(4rem,-2.124rem + 13.9vw,8.3rem)
    }

    main>*#advertisement .container ul {
        gap: 50px
    }

    main>*#advertisement .container ul li {
        width: 100%
    }

    main>*#advertisement .container ul li .txt .title {
        font-size: clamp(2.8rem,3.7vw,4rem);
        line-height: 1.35;
        margin-bottom: 2rem
    }
}

main>*#casestudy01 .container .tit-sec {
    color: #30699f
}

main>*#casestudy01 .container .job-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 20px 0
}

main>*#casestudy01 .container .job-list dl {
    border: 3px solid #30699f;
    width: 32%;
    padding: 3px
}

main>*#casestudy01 .container .job-list dl dt {
    background: #30699f;
    color: #fff;
    font-size: 1.8rem;
    margin-bottom: 10px;
    line-height: 1;
    text-align: center;
    position: relative
}

main>*#casestudy01 .container .job-list dl dt span {
    display: block;
    padding: 6px
}

main>*#casestudy01 .container .job-list dl dt:after {
    content: "";
    display: block;
    width: 100%;
    padding: 60% 0 0 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

main>*#casestudy01 .container .job-list dl dd {
    position: relative;
    line-height: 1;
    margin: 0 0 10px 15px;
    padding-left: 15px
}

main>*#casestudy01 .container .job-list dl dd:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: #30699f;
    border-radius: 5px;
    position: absolute;
    top: 4px;
    left: 0
}

main>*#casestudy01 .container .job-list dl:first-of-type dt:after {
    background-image: url(../images/img_casestudy_list01.png)
}

main>*#casestudy01 .container .job-list dl:nth-of-type(2) dt:after {
    background-image: url(../images/img_casestudy_list02.png)
}

main>*#casestudy01 .container .job-list dl:nth-of-type(3) dt:after {
    background-image: url(../images/img_casestudy_list03.png)
}

main>*#casestudy01 .container .job-list dl:nth-of-type(4) dt:after {
    background-image: url(../images/img_casestudy_list04.png)
}

main>*#casestudy01 .container .job-list dl:nth-of-type(5) dt:after {
    background-image: url(../images/img_casestudy_list05.png)
}

main>*#casestudy01 .container .job-list dl:nth-of-type(6) dt:after {
    background-image: url(../images/img_casestudy_list06.png)
}

@media screen and (max-width: 768px) {
    main>*#casestudy01 .container .job-list dl {
        width:48.5%
    }
}

@media screen and (max-width: 768px) {
    main>*#casestudy01 .container .job-list dl {
        width:100%
    }
}

main>*#plan {
    background: #f0f0f0
}

main>*#plan .container .scroll {
    margin-bottom: 30px
}

main>*#plan .container .scroll table {
    border: 2px solid #000;
    border-collapse: separate;
    width: 100%;
    table-layout: fixed;
    background: #fff
}

main>*#plan .container .scroll table th,main>*#plan .container .scroll table td {
    border: 2px solid #000;
    text-align: center;
    vertical-align: middle;
    padding: 25px;
    font-size: 1.8rem;
    font-weight: 600
}

main>*#plan .container .scroll table th {
    background: #c3e7f6
}

main>*#plan .container .scroll table th.all {
    background: #ffcd45;
    color: #000
}

main>*#plan .container .scroll table th.all small {
    display: block;
    font-size: 1.4rem
}

main>*#plan .container .scroll table th.single {
    background: #c7ba9a
}

main>*#plan .container .scroll table td {
    border: 2px solid #000
}

main>*#plan .container .scroll table td.single {
    background: #ede6db
}

main>*#plan .container small {
    display: block
}

@media screen and (max-width: 768px) {
    main>*#plan .container .scroll {
        width:100%;
        overflow-x: scroll
    }

    main>*#plan .container .scroll table {
        width: 800px
    }

    main>*#plan .container .scroll table th,main>*#plan .container .scroll table td {
        padding: 15px;
        font-size: 1.6rem
    }

    main>*#plan .container .scroll table th.all small {
        font-size: 1.2rem
    }
}

main>*#casestudy02 {
    background: #30699f;
    margin-bottom: 100px
}

main>*#casestudy02 .tit-sec {
    color: #fff
}

main>*#casestudy02 .container {
    background: #fff;
    -webkit-box-shadow: 10px 10px 0 rgba(0,0,0,.25);
    box-shadow: 10px 10px 0 rgba(0,0,0,.25)
}

@media screen and (max-width: 768px) {
    main>*#casestudy02 .container {
        -webkit-box-shadow:5px 5px 0 rgba(0,0,0,.25);
        box-shadow: 5px 5px 0 rgba(0,0,0,.25)
    }
}

main>*#casestudy02 .container {
    padding: 50px
}

main>*#casestudy02 .container .title {
    text-align: center;
    margin-bottom: 30px
}

main>*#casestudy02 .container .lead {
    font-size: 2.1rem;
    text-align: center;
    font-weight: 600;
    margin: 0 auto 60px
}

main>*#casestudy02 .container .interview-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 60px
}

main>*#casestudy02 .container .interview-list .interview {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 4%
}

main>*#casestudy02 .container .interview-list .interview .txt {
    width: 50%
}

main>*#casestudy02 .container .interview-list .interview .txt .tit-cont {
    background: #c3e7f6;
    font-size: 2.4rem;
    padding: 5px 20px;
    margin-bottom: 20px;
    line-height: 1.2
}

main>*#casestudy02 .container .interview-list .interview .txt .cont {
    line-height: 1.75;
    margin: 0
}

main>*#casestudy02 .container .interview-list .interview .txt .cont span {
    font-size: 2.4rem;
    font-weight: 600;
    color: #ea0922
}

main>*#casestudy02 .container .interview-list .interview .txt .cont-list li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 10px;
    font-size: 1.8rem
}

main>*#casestudy02 .container .interview-list .interview .txt .cont-list li:before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background: #30699f;
    position: absolute;
    top: 5px;
    left: 0
}

main>*#casestudy02 .container .interview-list .interview .img {
    width: 46%;
    text-align: center
}

main>*#casestudy02 .container .interview-list .interview:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media screen and (max-width: 768px) {
    main>*#casestudy02 {
        margin-bottom:60px
    }

    main>*#casestudy02 .container .title img {
        max-width: 280px
    }

    main>*#casestudy02 .container .lead {
        font-size: 1.6rem;
        margin: 0 auto 30px
    }

    main>*#casestudy02 .container .interview-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 60px
    }

    main>*#casestudy02 .container .interview-list .interview {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 30px
    }

    main>*#casestudy02 .container .interview-list .interview .txt {
        width: 100%
    }

    main>*#casestudy02 .container .interview-list .interview .txt .tit-cont {
        font-size: 2rem;
        padding: 8px 20px
    }

    main>*#casestudy02 .container .interview-list .interview .txt .cont span {
        font-size: 2rem
    }

    main>*#casestudy02 .container .interview-list .interview .txt .cont-list li {
        font-size: 1.7rem
    }

    main>*#casestudy02 .container .interview-list .interview .img {
        width: 100%
    }

    main>*#casestudy02 .container .interview-list .interview:nth-of-type(even) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

main>*#flow {
    background: #c3e7f6
}

main>*#flow .container {
    text-align: center
}

main>*#contact-form {
    line-height: 1.75
}

main>*#contact-form .container p {
    margin: 0 auto 60px;
    text-align: center
}

main>*#contact-form .container .red {
    color: #ea0922
}

main>*#contact-form .container .container-inner table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    font-size: 1.8rem;
    margin: 0 auto 30px
}

main>*#contact-form .container .container-inner table th {
    border: 0;
    width: 280px;
    padding: 15px 0;
    vertical-align: top
}

main>*#contact-form .container .container-inner table td {
    border: 0;
    padding: 15px 0;
    vertical-align: top
}

main>*#contact-form .container .container-inner input[type=text] {
    background: #fff;
    width: 100%;
    height: 40px;
    border: 1px solid #000;
    border-radius: 0;
    line-height: 38px;
    padding: 0 10px
}

main>*#contact-form .container .container-inner ::-webkit-input-placeholder {
    color: #ccc
}

main>*#contact-form .container .container-inner ::-moz-placeholder {
    color: #ccc
}

main>*#contact-form .container .container-inner :-ms-input-placeholder {
    color: #ccc
}

main>*#contact-form .container .container-inner ::-ms-input-placeholder {
    color: #ccc
}

main>*#contact-form .container .container-inner ::placeholder {
    color: #ccc
}

main>*#contact-form .container .container-inner textarea {
    background: #fff;
    width: 100%;
    min-height: 200px;
    border: 1px solid #000;
    border-radius: 0;
    padding: 5px 10px
}

main>*#contact-form .container .container-inner label.checkbox-text {
    cursor: pointer;
    display: inline-block;
    font-size: 1.8rem;
    min-height: 26px;
    overflow: hidden;
    padding-left: 25px;
    padding-left: 30px;
    position: relative
}

main>*#contact-form .container .container-inner label.checkbox-text:before {
    border: 1px solid #000;
    border-radius: 2px;
    content: "";
    height: 24px;
    left: 0px;
    position: absolute;
    top: 0;
    width: 24px;
    z-index: 3
}

main>*#contact-form .container .container-inner label.checkbox-text:after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    border-bottom: 3px solid #ea0922;
    border-right: 3px solid #ea0922;
    content: "";
    display: block;
    height: 14px;
    left: 6px;
    margin-top: -8px;
    position: absolute;
    top: 10px;
    transform: rotate(45deg);
    width: 10px;
    z-index: 1
}

main>*#contact-form .container .container-inner label.checkbox-text input[type=checkbox] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-box-shadow: 41px 0px #fff;
    box-shadow: 41px 0px #fff;
    display: block;
    height: 24px;
    left: -41px;
    margin: 0px;
    padding: 0px;
    position: absolute;
    width: 24px;
    z-index: 2
}

main>*#contact-form .container .container-inner label.checkbox-text input[type=checkbox]:checked {
    -webkit-box-shadow: none;
    box-shadow: none
}

main>*#contact-form .container .container-inner label.checkbox-text input[type=checkbox]:checked:focus {
    -webkit-box-shadow: 40px 0px #fff;
    box-shadow: 40px 0px #fff;
    opacity: .1
}

main>*#contact-form .container .container-inner label.checkbox-text input[type=checkbox]:focus {
    -webkit-box-shadow: 41px 0px #fff;
    box-shadow: 41px 0px #fff
}

main>*#contact-form .container .container-inner label.radio-text {
    cursor: pointer;
    position: relative;
    margin-right: 20px;
    overflow: hidden;
    padding-left: 30px;
    display: inline-block
}

main>*#contact-form .container .container-inner label.radio-text:before {
    position: absolute;
    width: 24px;
    height: 24px;
    border: 1px solid #000;
    border-radius: 50%;
    left: 0px;
    top: 4px;
    content: "";
    z-index: 3
}

main>*#contact-form .container .container-inner label.radio-text:after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 100%;
    left: 6px;
    top: 10px;
    background-color: #ea0922;
    z-index: 1
}

main>*#contact-form .container .container-inner label.radio-text input[type=radio] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    position: absolute;
    z-index: 2;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    left: -24px;
    top: 5px;
    margin: 0px;
    -webkit-box-shadow: 24px -1px #fff;
    box-shadow: 24px -1px #fff
}

main>*#contact-form .container .container-inner label.radio-text input[type=radio]:checked {
    -webkit-box-shadow: none;
    box-shadow: none
}

main>*#contact-form .container .container-inner label.radio-text input[type=radio]:focus {
    opacity: .2;
    -webkit-box-shadow: 24px -1px #fff;
    box-shadow: 24px -1px #fff
}

main>*#contact-form .container .container-inner .privacy-area {
    text-align: center;
    padding: 30px 0
}

main>*#contact-form .container .container-inner .privacy-area a {
    color: #ff4c31
}

main>*#contact-form .container .container-inner .btn-area {
    text-align: center;
    padding: 30px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 30px
}

main>*#contact-form .container .container-inner .btn-area button {
    width: 50%;
    max-width: 320px;
    height: 60px;
    line-height: 58px;
    border-radius: 5px;
    font-size: 1.8rem
}

main>*#contact-form .container .container-inner .btn-area button.btn-submit {
    background: #ff4c31;
    border: 1px solid #ff4c31;
    color: #fff
}

main>*#contact-form .container .container-inner .btn-area button.btn-submit:hover {
    background: #fff;
    color: #ea0922
}

main>*#contact-form .container .container-inner .btn-area button.btn-submit[disabled] {
    background: #ccc;
    border: 1px solid #ccc;
    cursor: not-allowed
}

main>*#contact-form .container .container-inner .btn-area button.btn-submit[disabled]:hover {
    background: #ccc;
    color: #fff
}

main>*#contact-form .container .container-inner .btn-area button.btn-back {
    border: 1px solid #666;
    color: #666
}

main>*#contact-form .container .container-inner .btn-area button.btn-back:hover {
    opacity: .75;
    background: hsla(0,0%,100%,.1)
}

@media screen and (max-width: 768px) {
    main>*#contact-form .container p {
        margin:0 auto 30px
    }

    main>*#contact-form .container .container-inner {
        padding: 20px
    }

    main>*#contact-form .container .container-inner table th {
        display: block;
        width: 100%;
        padding: 15px 0 0;
        font-weight: 700
    }

    main>*#contact-form .container .container-inner table td {
        display: block;
        width: 100%;
        padding: 10px 0
    }

    main>*#contact-form .container .container-inner table td ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 10px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    main>*#contact-form .container .container-inner .btn-area {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    main>*#contact-form .container .container-inner .btn-area button {
        width: 100%;
        max-width: none
    }
}

main>*.contact-area {
    background: #ffcd45
}

main>*.contact-area .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

main>*.contact-area .container .btn-box {
    background: #fff;
    -webkit-box-shadow: 10px 10px 0 rgba(0,0,0,.25);
    box-shadow: 10px 10px 0 rgba(0,0,0,.25)
}

@media screen and (max-width: 768px) {
    main>*.contact-area .container .btn-box {
        -webkit-box-shadow:5px 5px 0 rgba(0,0,0,.25);
        box-shadow: 5px 5px 0 rgba(0,0,0,.25)
    }
}

main>*.contact-area .container .btn-box {
    width: 100%;
    padding: 50px 230px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

main>*.contact-area .container .btn-box p {
    line-height: 1.2;
    margin: 0
}

main>*.contact-area .container .btn-box p.mail {
    width: 100%;
    max-width: 580px;
    min-width: 500px;
    height: 100px
}

main>*.contact-area .container .btn-box p.mail a {
    background: #ff4c31;
    padding: 20px;
    border: 2px solid #fff;
    border-radius: 50px;
    -webkit-box-shadow: 1px 1px 6px rgba(0,0,0,.35);
    box-shadow: 1px 1px 6px rgba(0,0,0,.35);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-size: clamp(2.8rem,1.8rem + .8vw,3.2rem);
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

main>*.contact-area .container .btn-box p.mail a span {
    display: block;
    font-size: 1.8rem;
    position: relative
}

main>*.contact-area .container .btn-box p.mail a span:before,main>*.contact-area .container .btn-box p.mail a span:after {
    background: #fff;
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-3em, -50%) rotate(-45deg);
    transform: translate(-3em, -50%) rotate(-45deg)
}

main>*.contact-area .container .btn-box p.mail a span:after {
    -webkit-transform: translate(3em, -50%) rotate(45deg);
    transform: translate(3em, -50%) rotate(45deg)
}

main>*.contact-area .container .btn-box p.mail a:hover {
    border: 2px solid #ea0922;
    color: #ea0922;
    background: #fff
}

main>*.contact-area .container .btn-box p.mail a:hover span:before,main>*.contact-area .container .btn-box p.mail a:hover span:after {
    background: #ea0922
}

main>*.contact-area .container .btn-box:after {
    content: "";
    display: block;
    width: 157px;
    height: 218px;
    background: url(../images/img_contact01.svg) center bottom no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: 60px
}

@media screen and (max-width: 1000px) {
    main>*.contact-area .container .btn-box {
        padding:50px 20px
    }

    main>*.contact-area .container .btn-box p.mail {
        margin: 0 160px 0 auto;
        width: 500px
    }

    main>*.contact-area .container .btn-box:after {
        right: 20px
    }
}

@media screen and (max-width: 768px) {
    main>*.contact-area .container {
        -webkit-box-align:start;
        -ms-flex-align: start;
        align-items: start
    }

    main>*.contact-area .container .tit-sec {
        text-align: left;
        margin: 0 0 4rem
    }

    main>*.contact-area .container .btn-box p.mail {
        margin: 0;
        height: auto;
        min-width: 0
    }

    main>*.contact-area .container .btn-box p.mail a {
        font-size: clamp(2.2rem,2.6vw,2.8rem)
    }

    main>*.contact-area .container .btn-box:after {
        width: 120px;
        height: 168px;
        bottom: auto;
        top: 0;
        right: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

@media screen and (max-width: 480px) {
    main>*.contact-area {
        padding-top:80px
    }

    main>*.contact-area .container .tit-sec {
        width: 100%;
        padding-right: 28%;
        font-size: 2.4rem;
        margin: 0 0 2rem
    }

    main>*.contact-area .container .btn-box {
        padding: 30px 15px
    }

    main>*.contact-area .container .btn-box p.mail a {
        padding: 10px 0;
        font-size: clamp(2rem,2.5vw,2.8rem)
    }

    main>*.contact-area .container .btn-box p.mail a span {
        font-size: 1.3rem
    }

    main>*.contact-area .container .btn-box p.mail a:before {
        display: none
    }

    main>*.contact-area .container .btn-box:after {
        width: 27%;
        padding: 37% 0 0 0;
        height: 0
    }
}

@media screen and (max-width: 768px) {
    main>* {
        padding:80px 0
    }
}

@media screen and (max-width: 480px) {
    main>* {
        padding:60px 0
    }
}

footer {
    border-top: 5px solid #000;
    padding: 60px 0 20px
}

footer .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end
}

footer .container #f-logo {
    width: 100%
}

footer .container #copyright {
    text-align: right;
    font-size: 1.4rem
}

@media screen and (max-width: 768px) {
    footer .container {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    footer .container #f-logo {
        text-align: center
    }

    footer .container #copyright {
        text-align: center
    }
}
