* {    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    box-sizing: border-box}html,body {    overflow-x: hidden;    width: 100%}body * {    font-family: Roboto,YakuHanJP,Noto Sans JP,sans-serif;    -webkit-font-smoothing: antialiased}body {    overflow: hidden;    width: 100vw}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {    margin: 0;    padding: 0;    border: 0;    font-size: 100%;    font: inherit;    vertical-align: baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {    display: block}body {    line-height: 1}ol,ul {    list-style: none}blockquote,q {    quotes: none}blockquote:before,blockquote:after,q:before,q:after {    content: "";    content: none}table {    border-collapse: collapse;    border-spacing: 0}html {    font-size: calc(15px + .390625vw)}img {    width: 100%;    min-height: 100%;    max-width: 100%;    max-height: 100%;    object-fit: cover}a {    text-decoration: none;    color: inherit}.pc {    display: block}@media screen and (max-width: 768px) {    .pc {        display:none    }}@media screen and (max-width: 480px) {    .pc {        display:none    }}.tablet {    display: none}@media screen and (max-width: 768px) {    .tablet {        display:block    }}.sp {    display: none}@media screen and (max-width: 480px) {    .sp {        display:block    }}.link {    display: inline-block}.takuma__inner {    padding: 120px 0 132px;    margin: 0 auto;    width: min(83.3333333333vw,1200px)}@media screen and (max-width: 1000px) {    .takuma__inner {        padding:100px 0 120px    }}@media screen and (max-width: 768px) {    .takuma__inner {        padding:80px 0 112px    }}@media screen and (max-width: 480px) {    .takuma__inner {        width:92vw;        padding: 62px 0 94px    }}.takuma__heading {    margin-bottom: 60px}@media screen and (max-width: 768px) {    .takuma__heading {        margin-bottom:8vw    }}@media screen and (max-width: 480px) {    .takuma__heading {        margin-bottom:8vw    }}.takuma__headingTitle {    font-weight: 900;    font-size: 68px;    line-height: 1.6;    color: #202121}@media screen and (max-width: 1200px) {    .takuma__headingTitle {        font-size:65px    }}@media screen and (max-width: 1000px) {    .takuma__headingTitle {        font-size:63px    }}@media screen and (max-width: 480px) {    .takuma__headingTitle {        font-size:32px;        line-height: 1.4    }}@media screen and (max-width: 1200px) {    .takuma__headingTitle {        font-size:59px    }}@media screen and (max-width: 1000px) {    .takuma__headingTitle {        font-size:min(5.6vw,56px)    }}@media screen and (max-width: 768px) {    .takuma__headingTitle {        font-size:8.5333333333vw    }}@media screen and (max-width: 480px) {    .takuma__headingTitle {        font-size:8.5333333333vw;        line-height: 1.4;        margin-bottom: 8vw    }}.takuma__main {    display: flex;    justify-content: space-between;    align-items: center;    gap: 60px;    margin-bottom: 65px}@media screen and (max-width: 768px) {    .takuma__main {        flex-direction:column    }}@media screen and (max-width: 480px) {    .takuma__main {        flex-direction:column;        gap: 8vw;        margin-bottom: 9.8666666667vw    }}.takuma__character {    position: relative;    padding: 34.3px 70px 24.3px 60px;    background-color: #d1eff2;    border-radius: 8px}@media screen and (max-width: 480px) {    .takuma__character {        padding:4.4266666667vw 10.5333333333vw 3.8933333333vw 9.4666666667vw    }}.takuma__characterImg {    width: min(30.5555555556vw,440px);    height: auto}.takuma__characterImg img {    display: block}@media screen and (max-width: 768px) {    .takuma__characterImg {        width:100%    }}@media screen and (max-width: 480px) {    .takuma__characterImg {        width:72vw    }}.takuma__description {    width: min(39.5833333333vw,570px)}@media screen and (max-width: 768px) {    .takuma__description {        width:100%    }}@media screen and (max-width: 480px) {    .takuma__description {        width:100%    }}.takuma__descriptionTitle {    font-size: 18px;    font-weight: 900;    line-height: 1.6;    margin-bottom: 10px}@media screen and (max-width: 480px) {    .takuma__descriptionTitle {        font-size:4vw;        margin-bottom: 5.3333333333vw    }}.takuma__descriptionNameJap {    font-size: 42px;    font-weight: 900;    margin-bottom: 10px;    color: #202121}@media screen and (max-width: 480px) {    .takuma__descriptionNameJap {        font-size:9.6vw;        margin-bottom: 1.0666666667vw    }}.takuma__descriptionNameEng {    font-size: 16px;    font-weight: 900;    letter-spacing: .1em;    line-height: 2.25;    color: #adadad}@media screen and (max-width: 480px) {    .takuma__descriptionNameEng {        font-size:3.7333333333vw;        line-height: 2.57    }}.takuma__greeting {    font-weight: 400}.takuma__greetingTitle {    font-size: 24px;    font-weight: 900;    color: #065fd4;    margin-bottom: 17px}@media screen and (max-width: 480px) {    .takuma__greetingTitle {        font-size:5.8666666667vw;        line-height: 1.4    }}.takuma__greetingText {    font-size: 16px;    font-weight: 400;    line-height: 1.8;    color: #202121}@media screen and (max-width: 480px) {    .takuma__greetingText {        font-size:4.2666666667vw    }}@media screen and (max-width: 480px) {    .takuma__greetingText span {        display:block    }}