@font-face {
    font-family: ZenMaruGothic-Regular;
    src: url("../fonts/ZenMaruGothic-Regular.ttf") format("truetype");
}

@font-face {
    font-family: ZenMaruGothic-Medium;
    src: url("../fonts/ZenMaruGothic-Medium.ttf") format("truetype");
}

@font-face {
    font-family: ZenMaruGothic-Bold;
    src: url("../fonts/ZenMaruGothic-Bold.ttf") format("truetype");
}

@font-face {
    font-family: Hiragino-Sans-GB-W6;
    src: url("../fonts/Hiragino-Sans-GB-W6.otf") format("opentype");
}

html {
    background-color: #FFF;
}

body {
    font-family: "ZenMaruGothic-Bold", Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-style: normal;
    color: #333333;
    overflow-x: hidden;
    font-size: 15px;
}

h1, h2 {
    margin: 0;
    padding: 0;
}

ul, li {
    margin: 0;
    padding: 0;
}

p {
    margin: 0;
    padding: 0;
    font-size: 20px;
    line-height: 30px;
}
  
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.koguma-container {
    width: 904px;
    margin: 0 auto;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
}

.header-container {
    width: 904px;
    margin: 0 auto;
    position: relative;
}

.navbar {
    padding: 0;
    position: relative;
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.mobile-menu-btn {
    padding: 0px;
}

.mobile-menu-btn:focus {
    text-decoration: none;
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.mobile-menu-btn .toggler-icon {
    width: 7.47vw;
    height: 0.53vw;
    background-color: #333333;
    display: block;
    margin: 2.8vw 0;
    position: relative;
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.mobile-menu-btn .toggler-icon:nth-of-type(1), .mobile-menu-btn .toggler-icon:nth-of-type(3) {
    margin: 0;
}

.mobile-menu-btn.active .toggler-icon:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 3.2vw;
}

.mobile-menu-btn.active .toggler-icon:nth-of-type(2) {
    opacity: 0;
}

.mobile-menu-btn.active .toggler-icon:nth-of-type(3) {
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    top: -3.2vw;
}

.header-home-button {
    display: flex;
    justify-content: space-between;
    width: 226px;
    height: 77px;
    background: #2D5FB4;
    border: 2px solid #333333;
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding: 19px 20px;
    text-decoration: none;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.3s;
}

.header-home-button:hover {
    padding: 39px 20px 19px;
    height: 97px;
}

.header-home-logo {
    width: 37px;
}

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

.header-home-text p {
    font-size: 20px;
    line-height: 33.5px;
    color: #fff;
}

.header-line-button {
    display: flex;
    justify-content: space-between;
    width: 292px;
    height: 77px;
    background: #FFF;
    border: 2px solid #333333;
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding: 18px 28px;
    text-decoration: none;
    position: absolute;
    right: 278px;
    top: 0;
    transition: 0.3s;
}

.header-line-button:hover {
    padding: 38px 28px 18px;
    height: 97px;
}

.header-line-logo {
    width: 38px;
}

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

.header-home-logo-mobile {
    display: none;
}

.header-line-text p {
    font-size: 20px;
    line-height: 38px;
    color: #333333;
}

.header-inquiry-button {
    display: flex;
    justify-content: space-between;
    width: 259px;
    height: 77px;
    background: #FDD768;
    border: 2px solid #333333;
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding: 24px 10px;
    text-decoration: none;
    position: absolute;
    right: 0;
    top: 0;
    transition: 0.3s;
}

.header-inquiry-button:hover {
    padding: 44px 10px 24px;
    height: 97px;
}

.header-inquiry-text {
    text-align: center;
    width: 100%;
}

.header-inquiry-text p {
    font-size: 20px;
    line-height: 29px;
    color: #333333;
    text-align: center;
}

#banner {
    background: #FCF5E8;
    padding: 128px 0 114px;
    position: relative;
    z-index: 2;
}

.banner-logo {
    display: flex;
    justify-content: center;
    margin: 0 0 16px;
}

.banner-logo img {
    width: 44px;
    margin: 0 4.5px 0 0;
}

.banner-logo h1 {
    font-size: 26px;
    line-height: 40px;
    color: #2D5FB4;
}

.banner-title {
    margin: 0 0 8px;
}

.banner-title h1 {
    font-size: 42px;
    line-height: 61px;
    color: #333333;
    text-align: center;
}

.banner-subtitle {
    margin: 0 0 58px;
}

.banner-subtitle h2 {
    font-size: 24px;
    line-height: 35px;
    color: #333333;
    text-align: center;
}

.banner-image {
    width: 657px;
    margin: 0 auto 38px;
}

.banner-image img {
    width: 100%;
}

.banner-lists {
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: 0 0 37px;
}

.banner-lists li {
    width: 192px;
    height: 192px;
    border-radius: 192px;
    border: 2px solid #333333;
    background: #FFF;
    position: relative;
}

.banner-lists li p {
    width: 100%;
    font-size: 22px;
    line-height: 25px;
    color: #2D5FB4;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.banner-lists li span {
    font-size: 18px;
    line-height: 25px;
    color: #2D5FB4;
    text-align: center;
}

.banner-choice {
    display: flex;
    justify-content: center;
    border-bottom: 2px dashed #333333;
    width: 776px;
    padding: 0 0 15px;
    margin: 0 auto 15px;
}

.banner-choice span {
    font-size: 32px;
    line-height: 46px;
    color: #333333;
    text-align: center;
}

.banner-choice img {
    width: 17px;
    margin: 0 25px;
}

.banner-text p {
    font-size: 25px;
    line-height: 36px;
    color: #333333;
    text-align: center;
}

#problem {
    background: #FCF5E8;
    padding: 114px 0 226px;
    position: relative;
    z-index: 2;
}

.problem-card {
    width: 764px;
    height: 345px;
    border-radius: 30px;
    border: 2px solid #333333;
    background-color: #FFF;
    margin: 0 auto 70px;
    position: relative;
    padding: 85px 75px;
}

.problem-card-title {
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: max-content;
    transform: translate(0, -53%);
}

.problem-card-title h2 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFF 50%, #FFF 100%);
    display: flex;
    padding: 0 5px;
}

.problem-card-title h2::before {
    content: "";
    display: block;
    background: url("../assets/problem-card-left.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 10px 5px 10px 0;
}

.problem-card-title h2::after {
    content: "";
    display: block;
    background: url("../assets/problem-card-right.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 10px 0 10px 5px;
}

.problem-card-list {
    list-style: none;
    margin: 0;
}

.problem-card-list li {
    width: max-content;
    padding: 0 0 10px;
    margin: 0 0 33px;
    border-bottom: 2px dashed #333333;
    font-size: 22px;
    line-height: 32px;
    color: #333333;
    display: flex;
}

.problem-card-list li:last-child {
    margin: 0;
}

.problem-card-list li::before {
    content: "";
    display: block;
    background: url("../assets/problem-list.svg") no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    margin: 1px 15px 1px 0;
}

.problem-card-image {
    width: 110px;
    position: absolute;
    right: 60px;
    bottom: 22px;
}

.problem-card-image img {
    width: 100%;
}

.problem-arrow {
    width: 15px;
    margin-left: 50%;
    margin-bottom: 57px;
}

.problem-arrow img {
    width: 100%;
}

.problem-title {
    margin: 0 0 48px;
}

.problem-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
}

.problem-lists {
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: 0 0 105px;
}

.problem-lists li {
    width: 260px;
    height: 260px;
    border-radius: 260px;
    border: 2px solid #333333;
    background: #FFF;
    position: relative;
}

.problem-lists-inner {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.problem-list-text p {
    font-size: 30px;
    line-height: 60px;
    color: #333333;
    text-align: center;
}

.problem-list-title h2 {
    font-size: 50px;
    line-height: 60px;
    color: #2D5FB4;
    text-align: center;
}

.problem-list-divider {
    width: 32px;
    height: 2px;
    background-color: #333;
    margin: 129px 0;
}

.problem-text p {
    font-size: 24px;
    line-height: 35px;
    color: #333333;
    text-align: center;
}

.problem-highlight {
    margin: 0 0 44px;
}

.problem-highlight p {
    font-size: 36px;
    line-height: 52px;
    color: #2D5FB4;
    text-align: center;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 75%, #FDD768 75%, #FDD768 100%);
    width: 560px;
    margin: 0 auto;
    display: block;
}

.problem-note p {
    font-family: "ZenMaruGothic-Regular", Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 25px;
    color: #333333;
    text-align: center;
}

#reason {
    background: #F7E5C3;
    padding: 244px 0 276px;
    position: relative;
    z-index: 2;
}

.reason-before {
    width: 0;
    height: 0;
    border-left: 50vw solid #F7E5C3;
    border-right: 50vw solid #F7E5C3;
    border-top: 11.77vw solid transparent;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    transform: translate(0, -100%);
}

.reason-title-card {
    background-color: #fff;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 95px;
}

.reason-title-top {
    width: 188px;
    height: 94px;
    background-color: #fff;
    border-top-left-radius: 96px;
    border-top-right-radius: 96px;
    border: 2px solid #333333;
    border-bottom: 0;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -100%);
}

.reason-title-top img {
    width: 37px;
    margin: 0 auto;
    display: block;
    padding-top: 37px;
}

.reason-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.reason-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.reason-title h1::before {
    content: "";
    display: block;
    background: url("../assets/title-icon.svg") no-repeat;
    background-size: contain;
    width: 50px;
    height: 46px;
    margin: 5px 6px 5px 0;
}

.reason-list {
    list-style: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 65px;
}

.reason-list li {
    width: 420px;
    height: 761px;
    background-color: #FCF5E8;
    border-radius: 203px;
    border: 2px solid #333333;
    margin: 0 0 95px;
    padding: 95px 34px 10px;
    position: relative;
}

.reason-list-number {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
}

.reason-list-number p {
    font-size: 100px;
    line-height: 100px;
    color: #FFF;
    text-align: center;
    display: block;
    text-shadow: 3px 3px 0 #333, 1px -1px 0 #333, -1px 1px 0 #333, 1px 1px 0 #333;
    box-shadow: #333;
}

.reason-list-title {
    margin: 0 0 27px;
}

.reason-list-title h2 {
    font-size: 35px;
    line-height: 56px;
    color: #2D5FB4;
    text-align: center;
}

.reason-list-title span {
    font-size: 30px;
    line-height: 56px;
    color: #333333;
}

.reason-list-image {
    width: max-content;
    margin: 0 auto 27px;
}

.reason-list-image img {
    width: auto;
    height: 250px;
}

.reason-list-text p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 29px;
    color: #333333;
}

.reason-text {
    margin: 0 0 40px;
}

.reason-text p {
    font-size: 30px;
    line-height: 44px;
    color: #333333;
    text-align: center;
    display: flex;
    width: max-content;
    margin: 0 auto;
}

.reason-text p::before {
    content: "";
    display: block;
    background: url("../assets/text-before.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 4px 5px 4px 0;
}

.reason-text p::after {
    content: "";
    display: block;
    background: url("../assets/text-after.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 4px 0 4px 5px;
}

.reason-button a {
    width: 552px;
    height: 121px;
    margin: 0 auto;
    display: flex;
    background-color: #333333;
    border: 2px solid #333333;
    border-radius: 10px;
    color: #fff;
    font-size: 30px;
    line-height: 56px;
    text-decoration: none;
    padding: 32.5px 38px;
    transition: 0.3s;
}

.reason-button a::before {
    content: "";
    display: block;
    background: url("../assets/line-icon-logo.png") no-repeat;
    background-size: contain;
    width: 56px;
    height: 56px;
    margin: 0 20px 0 0;
}

.reason-button a:hover {
    background-color: #FFF;
    color: #333333;
}

#differences {
    background: #FFFFFF;
    padding: 244px 0 276px;
    position: relative;
    z-index: 2;
}

.differences-before {
    width: 0;
    height: 0;
    border-left: 50vw solid #FFFFFF;
    border-right: 50vw solid #FFFFFF;
    border-top: 11.77vw solid transparent;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    transform: translate(0, -100%);
}

.differences-title-card {
    background-color: #F7E5C3;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 80px;
}

.differences-title-top {
    width: 188px;
    height: 94px;
    background-color: #F7E5C3;
    border-top-left-radius: 96px;
    border-top-right-radius: 96px;
    border: 2px solid #333333;
    border-bottom: 0;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -100%);
}

.differences-title-top img {
    width: 52px;
    margin: 0 auto;
    display: block;
    padding-top: 42px;
}

.differences-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.differences-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.differences-table > table {
    width: 100%;
}

.differences-table th {
    width: 249px;
}

.differences-table th:first-child {
    width: 157px;
}

.differences-table-card {
    width: 246px;
    text-align: center;
    height: 95px;
    background-color: #F7E5C3;
    border-radius: 5px;
    line-height: 95px;
    color: #333333;
    font-size: 20px;
}

.differences-table td {
    width: 249px;
    height: 195px;
    font-size: 20px;
    line-height: 25px;
    border-left: 2px dashed #333333;
    color: #333333;
}

.differences-table td:first-child {
    width: 157px;
    text-align: center;
    border-left: none;
}

.differences-table td:nth-child(2) {
    background: rgba(247, 229, 195, 0.5);
    border-left: 2px solid #AAAAAA;
}

.differences-table-cost, .differences-table-royalty {
    background-color: #FFF;
}

.differences-table-service, .differences-table-feature {
    background-color: #F4F4F4;
}

.differences-table td h2 {
    font-size: 20px;
    line-height: 29px;
    color: #333333;
    text-align: center;
}

.differences-table td p {
    font-size: 20px;
    line-height: 25px;
    color: #333333;
    padding: 0 23px;
}

.differences-table td:nth-child(2) p {
    font-size: 20px;
    line-height: 25px;
    color: #333333;
    padding: 0 23px;
}

.differences-table-cost td p {
    font-size: 30px;
    line-height: 44px;
    color: #333333;
    text-align: center;
}

.differences-table-cost td:nth-child(2) p {
    font-size: 40px;
    line-height: 30px;
    color: #2D5FB4;
    text-align: center;
}

.differences-table-cost td:nth-child(2) span {
    font-size: 20px;
    line-height: 30px;
    color: #2D5FB4;
}

.differences-table-royalty td:nth-child(2) p {
    font-size: 40px;
    line-height: 30px;
    color: #2D5FB4;
    text-align: center;
}

.differences-table-feature td:nth-child(2) p {
    font-size: 18px;
    line-height: 25px;
    color: #333333;
}

#revenue-model {
    background: #FCF5E8;
    padding: 244px 0 309px;
    position: relative;
    z-index: 2;
}

.revenue-model-before {
    width: 0;
    height: 0;
    border-left: 50vw solid #FCF5E8;
    border-right: 50vw solid #FCF5E8;
    border-top: 11.77vw solid transparent;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    transform: translate(0, -100%);
}

.revenue-model-title-card {
    background-color: #FFF;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 74px;
}

.revenue-model-title-top {
    width: 188px;
    height: 94px;
    background-color: #FFF;
    border-top-left-radius: 96px;
    border-top-right-radius: 96px;
    border: 2px solid #333333;
    border-bottom: 0;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -100%);
}

.revenue-model-title-top img {
    width: 43.5px;
    margin: 0 auto;
    display: block;
    padding-top: 44px;
}

.revenue-model-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.revenue-model-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.revenue-model-text {
    margin: 0 0 32px;
}

.revenue-model-text p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 24px;
    line-height: 35px;
    color: #333333;
    text-align: center;
}

.revenue-model-card {
    width: 100%;
    height: 813px;
    border-radius: 15px;
    background-image: url('../assets/revenue-model-bg.jpg');
    background-size: cover;
    padding: 177px 170px 0;
    margin: 0 0 70px;
}

.revenue-model-card-title {
    margin: 0 0 28px;
}

.revenue-model-card-title h2 {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 36px;
    line-height: 52px;
    color: #333333;
    text-align: center;
}

.revenue-model-card-time {
    margin: 0 0 4px;
}

.revenue-model-card-time p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 60px;
    line-height: 87px;
    color: #333333;
    text-align: center;
}

.revenue-model-card-price {
    margin: 0 0 96px;
}

.revenue-model-card-price p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 90px;
    line-height: 130px;
    color: #333333;
    text-align: center;
}

.revenue-model-card-price label {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 60px;
    line-height: 87px;
    color: #333333;
    text-align: center;
}

.revenue-model-card-price span {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 40px;
    line-height: 58px;
    color: #333333;
    text-align: center;
}

.revenue-model-card-button p {
    width: 552px;
    height: 121px;
    margin: 0 auto;
    display: flex;
    background-color: #FFFFFF;
    border: 2px solid #333333;
    border-radius: 10px;
    color: #333333;
    font-size: 28px;
    line-height: 40px;
    text-decoration: none;
    padding: 20px 36px;
    transition: 0.3s;
}

.revenue-model-card-button p::before {
    content: "";
    display: block;
    background: url("../assets/line-icon-logo.png") no-repeat;
    background-size: contain;
    width: 56px;
    height: 56px;
    margin: 12px 20px 12px 0;
}

/* .revenue-model-card-button a:hover {
    background-color: #333333;
    color: #FFF;
} */

.revenue-model-highlight {
    margin: 0 0 40px;
}

.revenue-model-highlight p {
    font-size: 30px;
    line-height: 44px;
    color: #333333;
    text-align: center;
    display: flex;
    width: max-content;
    margin: 0 auto;
}

.revenue-model-highlight p::before {
    content: "";
    display: block;
    background: url("../assets/text-before.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 4px 5px 4px 0;
}

.revenue-model-highlight p::after {
    content: "";
    display: block;
    background: url("../assets/text-after.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 4px 0 4px 5px;
}

.revenue-model-button a {
    width: 552px;
    height: 121px;
    margin: 0 auto;
    display: flex;
    background-color: #333333;
    border: 2px solid #333333;
    border-radius: 10px;
    color: #fff;
    font-size: 30px;
    line-height: 56px;
    text-decoration: none;
    padding: 32.5px 38px;
    transition: 0.3s;
}

.revenue-model-button a::before {
    content: "";
    display: block;
    background: url("../assets/line-icon-logo.png") no-repeat;
    background-size: contain;
    width: 56px;
    height: 56px;
    margin: 0 20px 0 0;
}

.revenue-model-button a:hover {
    background-color: #FFF;
    color: #333333;
}

#review {
    background: #FCF5E8;
    padding: 223px 0 290px;
    position: relative;
    z-index: 2;
}

.review-title-card {
    position: absolute;
    top: 0;
    left: 0;
    border: 2px solid #333333;
    border-left: none;
    width: calc(50vw - 174px);
    height: 105px;
    border-radius: 0 67px 67px 0;
    background-color: #F7E5C3;
}

.review-title h1 {
    font-size: 40px;
    line-height: 105px;
    color: #333333;
    text-align: center;
    padding-left: calc(50vw - 508px);
}

.review-lists {
    list-style: none;
}

.review-lists li {
    display: flex;
    justify-content: space-between;
    margin: 0 0 120px;
}

.review-lists li:last-child {
    margin: 0;
}

.review-lists-info {
    width: 440px;
    order: 1;
}

.review-lists li:nth-child(2n) .review-lists-info {
    order: 2;
}

.review-lists-title h2 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
}

.review-lists-detail {
    margin: 0 0 40px;
}

.review-lists-detail p {
    font-size: 25px;
    line-height: 56px;
    color: #333333;
}

.review-lists-text {
    border-top: 2px dashed #333;
    padding-top: 40px;
}

.review-lists-text p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 35px;
    color: #333333;
}

.review-lists-image {
    width: 400px;
    order: 2;
}

.review-lists li:nth-child(2n) .review-lists-image {
    order: 1;
}

.review-lists-photo {
    width: 400px;
}

.review-lists-photo img {
    width: 100%;
}

#owner {
    background: #F7E5C3;
    padding: 244px 0 276px;
    position: relative;
    z-index: 2;
}

.owner-before {
    width: 0;
    height: 0;
    border-left: 50vw solid #F7E5C3;
    border-right: 50vw solid #F7E5C3;
    border-top: 11.77vw solid transparent;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    transform: translate(0, -100%);
}

.owner-title-card {
    background-color: #fff;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 135px;
}

.owner-title-top {
    width: 188px;
    height: 94px;
    background-color: #fff;
    border-top-left-radius: 96px;
    border-top-right-radius: 96px;
    border: 2px solid #333333;
    border-bottom: 0;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -100%);
}

.owner-title-top img {
    width: 43px;
    margin: 0 auto;
    display: block;
    padding-top: 43px;
}

.owner-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.owner-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.owner-title h1::before {
    content: "";
    display: block;
    background: url("../assets/title-icon.svg") no-repeat;
    background-size: contain;
    width: 50px;
    height: 46px;
    margin: 5px 6px 5px 0;
}

.owner-detail-card {
    display: flex;
    justify-content: space-between;
    margin: 0 0 80px;
}

.owner-detail-card-left {
    width: 441px;
}

.owner-detail-card-right {
    width: 394px;
}

.owner-detail-card-title {
    padding: 0 0 56px;
    border-bottom: 2px dashed #333333;
    margin: 0 0 56px;
}

.owner-detail-card-title h2 {
    font-size: 37px;
    line-height: 52px;
    color: #333333;
}

.owner-detail-card-text p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 24px;
    line-height: 40px;
    color: #333333;
}

.owner-detail-card-image {
    width: 394px;
    margin: 0 0 13px;
}

.owner-detail-card-image img {
    width: 100%;
}

.owner-detail-card-name {
    margin: 0 0 13px;
}

.owner-detail-card-name p {
    font-size: 25px;
    line-height: 36px;
    color: #333333;
}

.owner-detail-card-info p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 30px;
    color: #333333;
}

.owner-book {
    width: 100%;
    height: 201px;
    background-color: #fff;
    border: 2px solid #333333;
    border-radius: 15px;
    padding: 35px 0;
    display: flex;
    justify-content: space-between;
}

.owner-book-title {
    width: 90px;
    border-right: 1px solid #333333;
    padding: 28px 25px;
}

.owner-book-title h2 {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 24px;
    line-height: 35px;
    color: #333333;
    text-align: center;
}

.owner-book-text {
    width: 780px;
    padding: 2.5px 0;
}

.owner-book-lists {
    list-style: inside;
}

.owner-book-lists li {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 29px;
    color: #333333;
}

.owner-book-link p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 29px;
    color: #333333;
    padding-left: 20px;
}

#faq {
    background: #FCF5E8;
    padding: 244px 0 309px;
    position: relative;
    z-index: 2;
}

.faq-before {
    width: 0;
    height: 0;
    border-left: 50vw solid #FCF5E8;
    border-right: 50vw solid #FCF5E8;
    border-top: 11.77vw solid transparent;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    transform: translate(0, -100%);
}

.faq-title-card {
    background-color: #FFF;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 137px;
}

.faq-title-top {
    width: 188px;
    height: 94px;
    background-color: #FFF;
    border-top-left-radius: 96px;
    border-top-right-radius: 96px;
    border: 2px solid #333333;
    border-bottom: 0;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -100%);
}

.faq-title-top img {
    width: 50px;
    margin: 0 auto;
    display: block;
    padding-top: 44px;
}

.faq-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.faq-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.faq-lists {
    list-style: none;
    margin: 0 0 135px;
}

.faq-lists li {
    width: 100%;
    background-color: #FFFFFF;
    border-radius: 15px;
    margin: 0 0 102px;
    /* padding: 0 67.5px 45px; */
}

.faq-lists li:last-child {
    margin: 0;
}

.faq-lists-question {
    width: 100%;
    background-color: #F7E5C3;
    border-radius: 15px;
    padding: 33.5px 67.5px;
    display: flex;
    align-items: center;
}

.faq-lists-question p {
    font-size: 18px;
    line-height: 25px;
    color: #333333;
    border-left: 1px solid #333333;
    padding-left: 30px;
}

.faq-lists-question label {
    display: block;
    font-size: 55px;
    line-height: 56px;
    color: #fff;
    text-shadow: 3px 3px 0 #333, 1px -1px 0 #333, -1px 1px 0 #333, 1px 1px 0 #333;
    margin-right: 30px;
}

.faq-lists-answer {
    width: 100%;
    border-radius: 15px;
    padding: 33.5px 67.5px;
    display: flex;
    align-items: center;
}

.faq-lists-answer p {
    font-size: 18px;
    line-height: 25px;
    color: #333333;
    border-left: 1px solid #333333;
    padding-left: 30px;
}

.faq-lists-answer label {
    display: block;
    font-size: 55px;
    line-height: 56px;
    color: #fff;
    text-shadow: 3px 3px 0 #333, 1px -1px 0 #333, -1px 1px 0 #333, 1px 1px 0 #333;
    margin-right: 32px;
}

.faq-subtitle {
    margin: 0 0 35px;
}

.faq-subtitle h2 {
    font-size: 25px;
    line-height: 35px;
    color: #333333;
    text-align: center;
}

.faq-check-card {
    background-color: #FFF;
    width: 798px;
    margin: 0 auto 22px;
    border: 2px solid #333333;
    border-radius: 15px;
    padding: 32px 56px;
}

.faq-check-lists {
    list-style: none;
}

.faq-check-lists li {
    padding: 0 0 15px;
    border-bottom: 2px dashed #2D5FB4;
    margin: 0 0 36px;
    color: #2D5FB4;
    font-size: 31px;
    line-height: 38px;
    display: flex;
    width: max-content;
}

.faq-check-lists li::before {
    content: "";
    display: block;
    background: url("../assets/faq-checklist.svg") no-repeat;
    background-size: contain;
    width: 37px;
    height: 37px;
    margin: 0 28px 0 0;
}

.faq-check-lists li:last-child {
    margin: 0;
}

.faq-text {
    margin: 0 0 170px;
}

.faq-text p {
    font-size: 24px;
    line-height: 35px;
    color: #333333;
    text-align: center;
}

.faq-highlight {
    margin: 0 0 40px;
}

.faq-highlight p {
    font-size: 30px;
    line-height: 44px;
    color: #333333;
    text-align: center;
    display: flex;
    width: max-content;
    margin: 0 auto;
}

.faq-highlight p::before {
    content: "";
    display: block;
    background: url("../assets/text-before.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 4px 5px 4px 0;
}

.faq-highlight p::after {
    content: "";
    display: block;
    background: url("../assets/text-after.svg") no-repeat;
    background-size: contain;
    width: 20px;
    height: 36px;
    margin: 4px 0 4px 5px;
}

.faq-button a {
    width: 552px;
    height: 121px;
    margin: 0 auto;
    display: flex;
    background-color: #333333;
    border: 2px solid #333333;
    border-radius: 10px;
    color: #fff;
    font-size: 30px;
    line-height: 56px;
    text-decoration: none;
    padding: 32.5px 38px;
    transition: 0.3s;
}

.faq-button a::before {
    content: "";
    display: block;
    background: url("../assets/line-icon-logo.png") no-repeat;
    background-size: contain;
    width: 56px;
    height: 56px;
    margin: 0 20px 0 0;
}

.faq-button a:hover {
    background-color: #FFF;
    color: #333333;
}

#inquiry {
    background: #FFFFFF;
    padding: 244px 0 221px;
    position: relative;
    z-index: 2;
}

.inquiry-before {
    width: 0;
    height: 0;
    border-left: 50vw solid #FFFFFF;
    border-right: 50vw solid #FFFFFF;
    border-top: 11.77vw solid transparent;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    transform: translate(0, -100%);
}

.inquiry-title-card {
    background-color: #F7E5C3;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 80px;
}

.inquiry-title-top {
    width: 188px;
    height: 94px;
    background-color: #F7E5C3;
    border-top-left-radius: 96px;
    border-top-right-radius: 96px;
    border: 2px solid #333333;
    border-bottom: 0;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -100%);
}

.inquiry-title-top img {
    width: 47px;
    margin: 0 auto;
    display: block;
    padding-top: 44px;
}

.inquiry-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.inquiry-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.inquiry-form > form {
    width: 100%;
}

.contact-form-option, .contact-form-text {
    display: flex;
    margin: 0 0 33px;
    justify-content: space-between;
}

.contact-form-option .invalid-feedback {
    width: 100%;
}

.contact-form-textarea {
    display: flex;
    margin: 0 0 134px;
    justify-content: space-between;
}

.contact-form-label {
    width: 240px;
    display: flex;
    justify-content: space-between;
}

.contact-form-input {
    width: 604px;
    display: flex;
    flex-wrap: wrap;
}

.contact-form-label > label {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 26px;
    color: #333333;
}

.contact-form-input input[type="radio"] {
    width: 28px;
    height: 28px;
    margin-right: 10px;
}

.contact-form-option > .contact-form-input label {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 26px;
    width: 120px;
    margin-right: 8px;
}

.contact-form-input > input[type="text"] {
    width: 100%;
    font-size: 18px;
    line-height: 25px;
    background-color: #fff;
    border: 1px solid #707070;
    padding: 6px;
}

.contact-form-input > input[type="email"] {
    width: 100%;
    font-size: 18px;
    line-height: 25px;
    background-color: #fff;
    border: 1px solid #707070;
    padding: 6px;
}

.contact-form-input > textarea {
    height: 146px;
    width: 100%;
    font-size: 18px;
    line-height: 25px;
    background-color: #fff;
    border: 1px solid #707070;
    padding: 6px;
}

.contact-form-required {
    background-color: #333333;
    color: #fff;
    width: 62px;
    text-align: center;
    font-size: 18px;
    line-height: 33px;
    height: 33px;
    border-radius: 33px;
}

.contact-form-required-not {
    background-color: #707070;
    color: #fff;
    width: 62px;
    text-align: center;
    font-size: 18px;
    line-height: 33px;
    height: 33px;
    border-radius: 33px;
}

.inquiry-privacy-button {
    margin: 0 0 40px;
}

.inquiry-privacy-button a {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    width: 100%;
    height: 58px;
    margin: 0 auto;
    display: block;
    background-color: #EAEAEA;
    color: #333333;
    border: 1px solid #333333;
    font-size: 18px;
    line-height: 58px;
    text-align: center;
    text-decoration: none;
    transition: 0.3s;
}

.inquiry-privacy-button a:hover {
    opacity: 0.7;
}

.contact-agreement {
    width: max-content;
    margin: 0 auto 90px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.contact-agreement > input {
    width: 26px;
    height: 26px;
    border: 1px solid #707070;
    margin-right: 18px;
}

.contact-agreement > label {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 26px;
    color: #333333;
}

.contact-agreement .invalid-feedback {
    width: 100%;
    text-align: center;
}

.inquiry-form input[type=submit] {
    width: 396px;
    background-color: #333333;
    color: #fff;
    border: 2px solid #333333;
    font-size: 30px;
    line-height: 103px;
    border-radius: 10px;
    margin: 0 auto;
    display: block;
    transition: 0.5s;
    cursor: pointer;
}

.inquiry-form input[type="submit"]:disabled {
    cursor: not-allowed;
}

.inquiry-form input[type=submit]:hover {
    color: #333333;
    background-color: #fff;
}

.inquiry-form button[type=submit] {
    width: 396px;
    background-color: #333333;
    color: #fff;
    border: 2px solid #333333;
    font-size: 30px;
    line-height: 103px;
    border-radius: 10px;
    margin: 0 auto;
    display: block;
    transition: 0.5s;
    cursor: pointer;
}

.inquiry-form button[type=submit]:disabled {
    cursor: not-allowed;
}

.inquiry-form button[type=submit]:hover {
    color: #333333;
    background-color: #fff;
}

.what-video-youtube iframe { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
}

iframe[name="emailsent"] {
    width: 100%;
    margin-top: 30px;
}

iframe[name="emailsent"] html {
    background-color: transparent;
}

.submit-email-sent {
    color: #FDD767;
    border: solid #FDD767 3px;
    font-weight: 400;
    padding: 20px;
    text-align: center;
    font-size: 20px;
    line-height: 25px;
}

.submit-email-fail {
    color: #dc3545;
    border: solid #dc3545 3px;
    font-weight: 400;
    padding: 20px;
    text-align: center;
    font-size: 20px;
    line-height: 25px;
}

#footer {
    padding: 27px 0;
    background-color: #F7E5C3;
    position: relative;
    z-index: 2;
}

.copyright-text p {
    color: #333;
    text-align: center;
    font-size: 18px;
    line-height: 25px;
    display: flex;
    justify-content: center;
}

.copyright-text p::before {
    content: "©︎";
    display: block;
    color: #333;
    font-size: 24px;
    line-height: 25px;
    margin: 0;
}

.grecaptcha-badge {
    display: none !important;
}

#recaptcha-holder > .grecaptcha-badge {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    margin: 0 0 20px;
}

/* PRIVACY PAGE */
#privacy {
    background: #FCF5E8;
    padding: 266px 0 115px;
    position: relative;
    z-index: 2;
}

.privacy-title-card {
    background-color: #fff;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 95px;
}

.privacy-title-top {
    width: 188px;
    height: 94px;
    background-color: #fff;
    border-top-left-radius: 96px;
    border-top-right-radius: 96px;
    border: 2px solid #333333;
    border-bottom: 0;
    position: absolute;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -100%);
}

.privacy-title-top img {
    width: 40px;
    margin: 0 auto;
    display: block;
    padding-top: 37px;
}

.privacy-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.privacy-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.privacy-text {
    width: 706px;
    margin: 0 auto 110px;
}

.privacy-text p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 30px;
    color: #333333;
}

.privacy-lists {
    list-style: none;
}

.privacy-lists li {
    margin: 0 0 68px;
}

.privacy-lists-title {
    margin: 0 0 28px;
}

.privacy-lists-title h2 {
    font-size: 30px;
    line-height: 35px;
    color: #333333;
    display: flex;
}

.privacy-lists-title h2::before {
    content: "";
    display: block;
    background: url("../assets/privacy-list-icon.svg") no-repeat;
    background-size: contain;
    width: 32px;
    height: 35px;
    margin: 0 23px 0 0;
}

.privacy-lists-text p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 30px;
    color: #333333;
}

.privacy-card {
    background-color: #fff;
    border-radius: 15px;
    width: 100%;
    padding: 22px 42px 38px;
}

.privacy-card-title {
    margin: 0 0 20px;
}

.privacy-card-title h2 {
    font-size: 30px;
    line-height: 56px;
    color: #2D5FB4;
}

.privacy-card-text p {
    font-family: "ZenMaruGothic-Medium", Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 30px;
    color: #333333;
}

.desktop {
    display: block;
}

.mobile {
    display: none;
}

/* THANKS PAGE */
#thanks {
    background: #FCF5E8;
    padding: 254px 0 169px;
    position: relative;
    z-index: 2;
}

.thanks-title-card {
    background-color: #fff;
    border: 2px solid #333333;
    border-radius: 94px;
    height: 94px;
    width: 100%;
    position: relative;
    margin: 0 0 95px;
}

.thanks-title {
    width: max-content;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.thanks-title h1 {
    font-size: 40px;
    line-height: 56px;
    color: #333333;
    text-align: center;
    display: flex;
}

.thanks-text {
    width: 484px;
    margin: 0 auto 72px;
}

.thanks-text p {
    font-size: 25px;
    line-height: 36px;
    color: #333333;
    text-align: center;
}

.thanks-image {
    width: 229px;
    margin: 0 auto 80.5px;
}

.thanks-image img {
    width: 100%;
}

.thanks-button a {
    display: block;
    width: 396px;
    height: 103px;
    margin: 0 auto;
    background-color: #333333;
    border: 2px solid #333333;
    border-radius: 10px;
    color: #fff;
    font-size: 30px;
    line-height: 103px;
    text-align: center;
    text-decoration: none;
    transition: 0.3s;
}

.thanks-button a:hover {
    background-color: #FFF;
    color: #333333;
}

@media (max-width: 1023px) and (min-width: 640px) {
    .koguma-container {
        width: 88.28125vw;
        margin: 0 auto;
    }
        
    .header-container {
        width: 88.28125vw;
        margin: 0 auto;
        position: relative;
    }
    
    .header-home-button {
        width: 22.07vw;
        height: 7.52vw;
        border: 0.2vw solid #333333;
        border-top: none;
        border-radius: 0 0 0.98vw 0.98vw;
        padding: 1.86vw 1.95vw;
    }

    .header-home-button:hover {
        padding: 3.81vw 1.95vw 1.86vw;
        height: 9.47vw;
    }
    
    .header-home-logo {
        width: 3.61vw;
    }
        
    .header-home-text p {
        font-size: 1.95vw;
        line-height: 3.27vw;
    }
    
    .header-line-button {
        width: 28.52vw;
        height: 7.52vw;
        border: 0.2vw solid #333333;
        border-top: none;
        border-radius: 0 0 0.98vw 0.98vw;
        padding: 1.76vw 2.73vw;
        right: 27.15vw;
    }

    .header-line-button:hover {
        padding: 3.71vw 2.73vw 1.76vw;
        height: 9.47vw;
    }
    
    .header-line-logo {
        width: 3.71vw;
    }
        
    .header-line-text p {
        font-size: 1.95vw;
        line-height: 3.71vw;
    }
    
    .header-inquiry-button {
        width: 25.29vw;
        height: 7.52vw;
        border: 0.2vw solid #333333;
        border-top: none;
        border-radius: 0 0 0.98vw 0.98vw;
        padding: 2.34vw 0.98vw;
    }

    .header-inquiry-button:hover {
        padding: 4.30vw 0.98vw 2.34vw;
        height: 9.47vw;
    }
        
    .header-inquiry-text p {
        font-size: 1.95vw;
        line-height: 2.83vw;
    }
    
    #banner {
        padding: 12.5vw 0 11.13vw;
    }
    
    .banner-logo {
        margin: 0 0 1.5625vw;
    }
    
    .banner-logo img {
        width: 4.30vw;
        margin: 0 0.44vw 0 0;
    }
    
    .banner-logo h1 {
        font-size: 2.54vw;
        line-height: 3.91vw;
    }
    
    .banner-title {
        margin: 0 0 0.78vw;
    }
    
    .banner-title h1 {
        font-size: 4.10vw;
        line-height: 5.96vw;
    }
    
    .banner-subtitle {
        margin: 0 0 5.66vw;
    }
    
    .banner-subtitle h2 {
        font-size: 2.34vw;
        line-height: 3.42vw;
    }
    
    .banner-image {
        width: 64.16vw;
        margin: 0 auto 3.71vw;
    }
        
    .banner-lists {
        margin: 0 0 3.61vw;
    }
    
    .banner-lists li {
        width: 18.75vw;
        height: 18.75vw;
        border-radius: 18.75vw;
        border: 0.2vw solid #333333;
    }
    
    .banner-lists li p {
        font-size: 2.15vw;
        line-height: 2.44vw;
    }
    
    .banner-lists li span {
        font-size: 1.76vw;
        line-height: 2.44vw;
    }
    
    .banner-choice {
        border-bottom: 0.2vw dashed #333333;
        width: 75.78vw;
        padding: 0 0 1.46vw;
        margin: 0 auto 1.46vw;
    }
    
    .banner-choice span {
        font-size: 3.125vw;
        line-height: 4.49vw;
    }
    
    .banner-choice img {
        width: 1.66vw;
        margin: 0 2.44vw;
    }
    
    .banner-text p {
        font-size: 2.44vw;
        line-height: 3.52vw;
    }
    
    #problem {
        padding: 11.13vw 0 22.07vw;
    }
    
    .problem-card {
        width: 74.61vw;
        height: 33.69vw;
        border-radius: 2.93vw;
        border: 0.2vw solid #333333;
        margin: 0 auto 6.84vw;
        padding: 8.30vw 7.32vw;
    }
        
    .problem-card-title h2 {
        font-size: 3.91vw;
        line-height: 5.47vw;
        padding: 0 0.49vw;
    }
    
    .problem-card-title h2::before {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.98vw 0.49vw 0.98vw 0;
    }
    
    .problem-card-title h2::after {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.98vw 0 0.98vw 0.49vw;
    }
        
    .problem-card-list li {
        padding: 0 0 0.98vw;
        margin: 0 0 3.22vw;
        border-bottom: 0.2vw dashed #333333;
        font-size: 2.15vw;
        line-height: 3.125vw;
    }
        
    .problem-card-list li::before {
        width: 2.93vw;
        height: 2.93vw;
        margin: 0.1vw 1.46vw 0.1vw 0;
    }
    
    .problem-card-image {
        width: 10.74vw;
        right: 5.86vw;
        bottom: 2.15vw;
    }
        
    .problem-arrow {
        width: 1.46vw;
        margin-left: 50%;
        margin-bottom: 5.57vw;
    }
    
    .problem-title {
        margin: 0 0 4.6875vw;
    }
    
    .problem-title h1 {
        font-size: 3.91vw;
        line-height: 5.47vw;
    }
    
    .problem-lists {
        margin: 0 0 10.25vw;
    }
    
    .problem-lists li {
        width: 25.39vw;
        height: 25.39vw;
        border-radius: 25.39vw;
        border: 0.2vw solid #333333;
    }
        
    .problem-list-text p {
        font-size: 2.93vw;
        line-height: 5.86vw;
    }
    
    .problem-list-title h2 {
        font-size: 4.88vw;
        line-height: 5.86vw;
    }
    
    .problem-list-divider {
        width: 3.125vw;
        height: 0.2vw;
        margin: 12.60vw 0;
    }
    
    .problem-text p {
        font-size: 2.34vw;
        line-height: 3.42vw;
    }
    
    .problem-highlight {
        margin: 0 0 4.30vw;
    }
    
    .problem-highlight p {
        font-size: 3.52vw;
        line-height: 5.08vw;
        width: 54.6875vw;
        margin: 0 auto;
    }
    
    .problem-note p {
        font-size: 1.66vw;
        line-height: 2.44vw;
    }
    
    #reason {
        padding: 23.83vw 0 26.95vw;
    }
        
    .reason-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        margin: 0 0 9.28vw;
    }
    
    .reason-title-top {
        width: 18.36vw;
        height: 9.18vw;
        border-top-left-radius: 9.375vw;
        border-top-right-radius: 9.375vw;
        border: 0.2vw solid #333333;
        border-bottom: 0;
    }
    
    .reason-title-top img {
        width: 3.61vw;
        padding-top: 3.61vw;
    }
        
    .reason-title h1 {
        font-size: 3.91vw;
        line-height: 5.46875vw;
    }
    
    .reason-title h1::before {
        width: 4.88vw;
        height: 4.49vw;
        margin: 0.49vw 0.59vw 0.49vw 0;
    }
    
    .reason-list {
        margin: 0 0 6.35vw;
    }
    
    .reason-list li {
        width: 41.02vw;
        height: 74.32vw;
        border-radius: 19.82vw;
        border: 0.2vw solid #333333;
        margin: 0 0 9.28vw;
        padding: 9.28vw 3.32vw 0.98vw;
    }
    
    .reason-list-number {
        top: -1.95vw;
    }
    
    .reason-list-number p {
        font-size: 9.77vw;
        line-height: 9.77vw;
        text-shadow: 0.29vw 0.29vw 0 #333, 0.1vw -0.1vw 0 #333, -0.1vw 0.1vw 0 #333, 0.1vw 0.1vw 0 #333;
    }
    
    .reason-list-title {
        margin: 0 0 2.64vw;
    }
    
    .reason-list-title h2 {
        font-size: 3.42vw;
        line-height: 5.46875vw;
    }
    
    .reason-list-title span {
        font-size: 2.93vw;
        line-height: 5.46875vw;
    }
    
    .reason-list-image {
        margin: 0 auto 2.64vw;
    }
    
    .reason-list-image img {
        width: auto;
        height: 24.41vw;
    }
    
    .reason-list-text p {
        font-size: 1.95vw;
        line-height: 2.83vw;
    }
    
    .reason-text {
        margin: 0 0 3.91vw;
    }
    
    .reason-text p {
        font-size: 2.93vw;
        line-height: 4.30vw;
    }
    
    .reason-text p::before {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.39vw 0.49vw 0.39vw 0;
    }
    
    .reason-text p::after {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.39vw 0 0.39vw 0.49vw;
    }
    
    .reason-button a {
        width: 54.90vw;
        height: 11.82vw;
        margin: 0 auto;
        border: 0.2vw solid #333333;
        border-radius: 0.98vw;
        font-size: 2.93vw;
        line-height: 5.46875vw;
        padding: 3.17vw 3.71vw;
    }
    
    .reason-button a::before {
        width: 5.47vw;
        height: 5.47vw;
        margin: 0 1.95vw 0 0;
    }
        
    #differences {
        padding: 23.83vw 0 26.95vw;
    }
        
    .differences-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        margin: 0 0 7.8125vw;
    }
    
    .differences-title-top {
        width: 18.36vw;
        height: 9.18vw;
        background-color: #F7E5C3;
        border-top-left-radius: 9.375vw;
        border-top-right-radius: 9.375vw;
        border: 0.2vw solid #333333;
        border-bottom: 0;
    }
    
    .differences-title-top img {
        width: 5.08vw;
        padding-top: 4.10vw;
    }
        
    .differences-title h1 {
        font-size: 3.91vw;
        line-height: 5.47vw;
    }
        
    .differences-table th {
        width: 24.32vw;
    }
    
    .differences-table th:first-child {
        width: 15.33vw;
    }
    
    .differences-table-card {
        width: 24.02vw;
        height: 9.28vw;
        border-radius: 0.49vw;
        line-height: 9.28vw;
        font-size: 1.95vw;
    }
    
    .differences-table td {
        width: 24.32vw;
        height: 19.04vw;
        font-size: 1.95vw;
        line-height: 2.44vw;
        border-left: 0.2vw dashed #333333;
    }
    
    .differences-table td:first-child {
        width: 15.33vw;
    }
    
    .differences-table td:nth-child(2) {
        border-left: 0.2vw solid #AAAAAA;
    }
    
    .differences-table td h2 {
        font-size: 1.95vw;
        line-height: 2.83vw;
    }
    
    .differences-table td p {
        font-size: 1.95vw;
        line-height: 2.44vw;
        padding: 0 2.25vw;
    }
    
    .differences-table td:nth-child(2) p {
        font-size: 1.95vw;
        line-height: 2.44vw;
        padding: 0 2.25vw;
    }
    
    .differences-table-cost td p {
        font-size: 2.93vw;
        line-height: 4.30vw;
    }
    
    .differences-table-cost td:nth-child(2) p {
        font-size: 3.91vw;
        line-height: 2.93vw;
    }
    
    .differences-table-cost td:nth-child(2) span {
        font-size: 1.95vw;
        line-height: 2.93vw;
    }
    
    .differences-table-royalty td:nth-child(2) p {
        font-size: 3.91vw;
        line-height: 2.93vw;
    }
    
    .differences-table-feature td:nth-child(2) p {
        font-size: 1.76vw;
        line-height: 2.44vw;
    }
    
    #revenue-model {
        padding: 23.83vw 0 30.18vw;
    }
    
    .revenue-model-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        margin: 0 0 7.23vw;
    }
    
    .revenue-model-title-top {
        width: 18.36vw;
        height: 9.18vw;
        border-top-left-radius: 9.375vw;
        border-top-right-radius: 9.375vw;
        border: 0.2vw solid #333333;
        border-bottom: 0;
    }
    
    .revenue-model-title-top img {
        width: 4.25vw;
        padding-top: 4.30vw;
    }
    
    .revenue-model-title h1 {
        font-size: 3.91vw;
        line-height: 5.47vw;
    }
    
    .revenue-model-text {
        margin: 0 0 3.125vw;
    }
    
    .revenue-model-text p {
        font-size: 2.34vw;
        line-height: 3.42vw;
    }
    
    .revenue-model-card {
        height: 79.39vw;
        border-radius: 1.46vw;
        padding: 17.29vw 16.60vw 0;
        margin: 0 0 6.84vw;
    }
    
    .revenue-model-card-title {
        margin: 0 0 2.73vw;
    }
    
    .revenue-model-card-title h2 {
        font-size: 3.52vw;
        line-height: 5.08vw;
    }
    
    .revenue-model-card-time {
        margin: 0 0 0.39vw;
    }
    
    .revenue-model-card-time p {
        font-size: 5.86vw;
        line-height: 8.50vw;
    }
    
    .revenue-model-card-price {
        margin: 0 0 9.375vw;
    }
    
    .revenue-model-card-price p {
        font-size: 8.79vw;
        line-height: 12.70vw;
    }
    
    .revenue-model-card-price label {
        font-size: 5.86vw;
        line-height: 8.50vw;
    }
    
    .revenue-model-card-price span {
        font-size: 3.91vw;
        line-height: 5.66vw;
    }
    
    .revenue-model-card-button p {
        width: 53.91vw;
        height: 11.82vw;
        border: 0.2vw solid #333333;
        border-radius: 0.98vw;
        font-size: 2.73vw;
        line-height: 3.91vw;
        padding: 1.95vw 3.52vw;
    }
    
    .revenue-model-card-button p::before {
        width: 5.47vw;
        height: 5.47vw;
        margin: 1.17vw 1.95vw 1.17vw 0;
    }
    
    .revenue-model-highlight {
        margin: 0 0 3.91vw;
    }
    
    .revenue-model-highlight p {
        font-size: 2.93vw;
        line-height: 4.30vw;
    }
    
    .revenue-model-highlight p::before {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.39vw 0.49vw 0.39vw 0;
    }
    
    .revenue-model-highlight p::after {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.39vw 0 0.39vw 0.49vw;
    }
    
    .revenue-model-button a {
        width: 54.91vw;
        height: 11.82vw;
        border: 0.2vw solid #333333;
        border-radius: 0.98vw;
        font-size: 2.93vw;
        line-height: 5.47vw;
        padding: 3.17vw 3.71vw;
    }
    
    .revenue-model-button a::before {
        width: 5.47vw;
        height: 5.47vw;
        margin: 0 1.95vw 0 0;
    }
    
    #review {
        padding: 21.78vw 0 28.32vw;
    }
    
    .review-title-card {
        border: 0.2vw solid #333333;
        border-left: none;
        width: 33.01vw;
        height: 10.25vw;
        border-radius: 0 6.54vw 6.54vw 0;
    }
    
    .review-title h1 {
        font-size: 3.91vw;
        line-height: 10.25vw;
        padding-left: 0.39vw;
    }
    
    .review-lists li {
        margin: 0 0 11.72vw;
    }
    
    .review-lists-info {
        width: 42.97vw;
    }
        
    .review-lists-title h2 {
        font-size: 3.91vw;
        line-height: 5.47vw;
    }
    
    .review-lists-detail {
        margin: 0 0 3.91vw;
    }
    
    .review-lists-detail p {
        font-size: 2.44vw;
        line-height: 5.47vw;
    }
    
    .review-lists-text {
        border-top: 0.2vw dashed #333;
        padding-top: 3.91vw;
    }
    
    .review-lists-text p {
        font-size: 1.95vw;
        line-height: 3.42vw;
    }
    
    .review-lists-image {
        width: 39.0625vw;
    }
    
    .review-lists-photo {
        width: 39.0625vw;
    }
    
    #owner {
        padding: 23.83vw 0 26.95vw;
    }
        
    .owner-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        margin: 0 0 13.18vw;
    }
    
    .owner-title-top {
        width: 18.36vw;
        height: 9.18vw;
        border-top-left-radius: 9.375vw;
        border-top-right-radius: 9.375vw;
        border: 0.2vw solid #333333;
        border-bottom: 0;
    }
    
    .owner-title-top img {
        width: 4.20vw;
        margin: 0 auto;
        padding-top: 4.20vw;
    }
    
    .owner-title h1 {
        font-size: 3.92vw;
        line-height: 5.47vw;
    }
    
    .owner-title h1::before {
        width: 4.88vw;
        height: 4.49vw;
        margin: 0.49vw 0.59vw 0.49vw 0;
    }
    
    .owner-detail-card {
        margin: 0 0 7.8125vw;
    }
    
    .owner-detail-card-left {
        width: 43.07vw;
    }
    
    .owner-detail-card-right {
        width: 38.48vw;
    }
    
    .owner-detail-card-title {
        padding: 0 0 5.47vw;
        border-bottom: 0.2vw dashed #333333;
        margin: 0 0 5.47vw;
    }
    
    .owner-detail-card-title h2 {
        font-size: 3.61vw;
        line-height: 5.08vw;
    }
    
    .owner-detail-card-text p {
        font-size: 2.34vw;
        line-height: 3.92vw;
    }
    
    .owner-detail-card-image {
        width: 38.48vw;
        margin: 0 0 1.27vw;
    }
    
    .owner-detail-card-name {
        margin: 0 0 1.27vw;
    }
    
    .owner-detail-card-name p {
        font-size: 2.44vw;
        line-height: 3.52vw;
    }
    
    .owner-detail-card-info p {
        font-size: 1.76vw;
        line-height: 2.93vw;
    }
    
    .owner-book {
        width: 100%;
        height: 19.63vw;
        border: 0.2vw solid #333333;
        border-radius: 1.47vw;
        padding: 3.42vw 0;
    }
    
    .owner-book-title {
        width: 8.79vw;
        border-right: 0.1vw solid #333333;
        padding: 2.73vw 2.44vw;
    }
    
    .owner-book-title h2 {
        font-size: 2.34vw;
        line-height: 3.42vw;
    }
    
    .owner-book-text {
        width: 76.17vw;
        padding: 0.24vw 0;
    }
    
    .owner-book-lists li {
        font-size: 1.95vw;
        line-height: 2.83vw;
    }
    
    .owner-book-link p {
        font-size: 1.95vw;
        line-height: 2.83vw;
        padding-left: 1.95vw;
    }
    
    #faq {
        padding: 23.83vw 0 30.18vw;
    }
        
    .faq-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        margin: 0 0 13.38vw;
    }
    
    .faq-title-top {
        width: 18.36vw;
        height: 9.18vw;
        border-top-left-radius: 9.375vw;
        border-top-right-radius: 9.375vw;
        border: 0.2vw solid #333333;
        border-bottom: 0;
    }
    
    .faq-title-top img {
        width: 4.88vw;
        padding-top: 4.30vw;
    }
    
    .faq-title h1 {
        font-size: 3.91vw;
        line-height: 5.47vw;
    }
    
    .faq-lists {
        margin: 0 0 13.18vw;
    }
    
    .faq-lists li {
        border-radius: 1.46vw;
        margin: 0 0 9.96vw;
    }
    
    .faq-lists-question {
        border-radius: 1.46vw;
        padding: 3.27vw 6.59vw;
    }
    
    .faq-lists-question p {
        font-size: 1.76vw;
        line-height: 2.44vw;
        border-left: 0.1vw solid #333333;
        padding-left: 2.93vw;
    }
    
    .faq-lists-question label {
        font-size: 5.37vw;
        line-height: 5.47vw;
        text-shadow: 0.29vw 0.29vw 0 #333, 0.1vw -0.1vw 0 #333, -0.1vw 0.1vw 0 #333, 0.1vw 0.1vw 0 #333;
        margin-right: 2.93vw;
    }
    
    .faq-lists-answer {
        border-radius: 1.46vw;
        padding: 3.27vw 6.59vw;
    }
    
    .faq-lists-answer p {
        font-size: 1.76vw;
        line-height: 2.44vw;
        border-left: 0.1vw solid #333333;
        padding-left: 2.93vw;
    }
    
    .faq-lists-answer label {
        font-size: 5.37vw;
        line-height: 5.47vw;
        text-shadow: 0.29vw 0.29vw 0 #333, 0.1vw -0.1vw 0 #333, -0.1vw 0.1vw 0 #333, 0.1vw 0.1vw 0 #333;
        margin-right: 3.125vw;
    }
    
    .faq-subtitle {
        margin: 0 0 3.42vw;
    }
    
    .faq-subtitle h2 {
        font-size: 2.44vw;
        line-height: 3.42vw;
    }
    
    .faq-check-card {
        width: 77.93vw;
        margin: 0 auto 2.15vw;
        border: 0.2vw solid #333333;
        border-radius: 1.46vw;
        padding: 3.125vw 5.47vw;
    }
    
    .faq-check-lists li {
        padding: 0 0 1.46vw;
        border-bottom: 0.2vw dashed #2D5FB4;
        margin: 0 0 3.52vw;
        font-size: 3.03vw;
        line-height: 3.71vw;
    }
    
    .faq-check-lists li::before {
        width: 3.61vw;
        height: 3.61vw;
        margin: 0 2.73vw 0 0;
    }
    
    .faq-text {
        margin: 0 0 16.60vw;
    }
    
    .faq-text p {
        font-size: 2.34vw;
        line-height: 3.42vw;
    }
    
    .faq-highlight {
        margin: 0 0 3.91vw;
    }
    
    .faq-highlight p {
        font-size: 2.93vw;
        line-height: 4.30vw;
    }
    
    .faq-highlight p::before {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.39vw 0.49vw 0.39vw 0;
    }
    
    .faq-highlight p::after {
        width: 1.95vw;
        height: 3.52vw;
        margin: 0.39vw 0 0.39vw 0.49vw;
    }
    
    .faq-button a {
        width: 54.91vw;
        height: 11.82vw;
        border: 0.2vw solid #333333;
        border-radius: 0.98vw;
        font-size: 2.93vw;
        line-height: 5.47vw;
        padding: 3.17vw 3.71vw;
    }
    
    .faq-button a::before {
        width: 5.47vw;
        height: 5.47vw;
        margin: 0 1.95vw 0 0;
    }
    
    #inquiry {
        padding: 23.83vw 0 21.58vw;
    }
        
    .inquiry-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        margin: 0 0 7.8125vw;
    }
    
    .inquiry-title-top {
        width: 18.36vw;
        height: 9.18vw;
        border-top-left-radius: 9.375vw;
        border-top-right-radius: 9.375vw;
        border: 0.2vw solid #333333;
        border-bottom: 0;
    }
    
    .inquiry-title-top img {
        width: 4.59vw;
        padding-top: 4.30vw;
    }
    
    .inquiry-title h1 {
        font-size: 40px;
        line-height: 56px;
    }
    
    .contact-form-option, .contact-form-text {
        margin: 0 0 3.22vw;
    }
    
    .contact-form-textarea {
        margin: 0 0 13.09vw;
    }
    
    .contact-form-label {
        width: 23.4375vw;
    }
    
    .contact-form-input {
        width: 58.98vw;
    }
    
    .contact-form-label > label {
        font-size: 1.76vw;
        line-height: 2.54vw;
    }
    
    .contact-form-input input[type="radio"] {
        width: 2.73vw;
        height: 2.73vw;
        margin-right: 0.98vw;
    }
    
    .contact-form-option > .contact-form-input label {
        font-size: 1.76vw;
        line-height: 2.54vw;
        width: 11.72vw;
        margin-right: 0.78125vw;
    }
    
    .contact-form-input > input[type="text"] {
        font-size: 1.76vw;
        line-height: 2.44vw;
        border: 0.1vw solid #707070;
        padding: 0.59vw;
    }
    
    .contact-form-input > input[type="email"] {
        font-size: 1.76vw;
        line-height: 2.44vw;
        border: 0.1vw solid #707070;
        padding: 0.59vw;
    }
    
    .contact-form-input > textarea {
        height: 14.26vw;
        width: 100%;
        font-size: 1.76vw;
        line-height: 2.44vw;
        border: 0.1vw solid #707070;
        padding: 0.59vw;
    }
    
    .contact-form-required {
        width: 6.05vw;
        font-size: 1.76vw;
        line-height: 3.22vw;
        height: 3.22vw;
        border-radius: 3.22vw;
    }
    
    .contact-form-required-not {
        width: 6.05vw;
        font-size: 1.76vw;
        line-height: 3.22vw;
        height: 3.22vw;
        border-radius: 3.22vw;
    }
    
    .inquiry-privacy-button {
        margin: 0 0 3.91vw;
    }
    
    .inquiry-privacy-button a {
        height: 5.66vw;
        border: 0.1vw solid #333333;
        font-size: 1.76vw;
        line-height: 5.66vw;
    }
    
    .contact-agreement {
        margin: 0 auto 8.79vw;
    }
    
    .contact-agreement > input {
        width: 2.54vw;
        height: 2.54vw;
        border: 0.1vw solid #707070;
        margin-right: 1.76vw;
    }
    
    .contact-agreement > label {
        font-size: 1.76vw;
        line-height: 2.54vw;
    }
    
    .inquiry-form input[type=submit] {
        width: 38.67vw;
        border: 0.2vw solid #333333;
        font-size: 2.93vw;
        line-height: 10.06vw;
        border-radius: 0.98vw;
    }
    
    .inquiry-form button[type=submit] {
        width: 38.67vw;
        border: 0.2vw solid #333333;
        font-size: 2.93vw;
        line-height: 10.06vw;
        border-radius: 0.98vw;
    }
    
    iframe[name="emailsent"] {
        margin-top: 2.93vw;
    }
    
    .submit-email-sent {
        border: solid #FDD767 0.29vw;
        padding: 1.95vw;
        font-size: 1.95vw;
        line-height: 2.44vw;
    }

    .submit-email-fail {
        border: solid #dc3545 0.29vw;
        padding: 1.95vw;
        font-size: 1.95vw;
        line-height: 2.44vw;
    }
    
    #footer {
        padding: 2.64vw 0;
    }
    
    .copyright-text p {
        font-size: 1.76vw;
        line-height: 2.44vw;
    }
    
    .copyright-text p::before {
        font-size: 2.34vw;
        line-height: 2.44vw;
    }

    /* PRIVACY PAGE */
    #privacy {
        padding: 25.98vw 0 11.23vw;
    }

    .privacy-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        width: 100%;
        margin: 0 0 9.28vw;
    }

    .privacy-title-top {
        width: 18.36vw;
        height: 9.18vw;
        border-top-left-radius: 9.375vw;
        border-top-right-radius: 9.375vw;
        border: 0.2vw solid #333333;
        border-bottom: 0;
    }

    .privacy-title-top img {
        width: 3.91vw;
        margin: 0 auto;
        padding-top: 3.61vw;
    }

    .privacy-title h1 {
        font-size: 3.91vw;
        line-height: 5.47vw;
    }

    .privacy-text {
        width: 68.95vw;
        margin: 0 auto 10.74vw;
    }

    .privacy-text p {
        font-size: 1.95vw;
        line-height: 2.93vw;
    }

    .privacy-lists li {
        margin: 0 0 6.64vw;
    }

    .privacy-lists-title {
        margin: 0 0 2.73vw;
    }

    .privacy-lists-title h2 {
        font-size: 2.93vw;
        line-height: 3.42vw;
    }

    .privacy-lists-title h2::before {
        width: 3.125vw;
        height: 3.42vw;
        margin: 0 2.25vw 0 0;
    }

    .privacy-lists-text p {
        font-size: 1.95vw;
        line-height: 2.93vw;
    }

    .privacy-card {
        border-radius: 1.46vw;
        width: 100%;
        padding: 2.15vw 4.10vw 3.71vw;
    }

    .privacy-card-title {
        margin: 0 0 1.95vw;
    }

    .privacy-card-title h2 {
        font-size: 2.93vw;
        line-height: 5.47vw;
    }

    .privacy-card-text p {
        font-size: 1.95vw;
        line-height: 2.93vw;
    }

    /* THANKS PAGE */
    #thanks {
        padding: 24.80vw 0 16.50vw;
    }

    .thanks-title-card {
        border: 0.2vw solid #333333;
        border-radius: 9.18vw;
        height: 9.18vw;
        width: 100%;
        margin: 0 0 9.28vw;
    }

    .thanks-title h1 {
        font-size: 3.91vw;
        line-height: 5.47vw;
    }

    .thanks-text {
        width: 47.27vw;
        margin: 0 auto 7.03vw;
    }

    .thanks-text p {
        font-size: 2.44vw;
        line-height: 3.52vw;
    }

    .thanks-image {
        width: 22.36vw;
        margin: 0 auto 7.86vw;
    }

    .thanks-button a {
        width: 38.67vw;
        height: 10.06vw;
        border: 0.2vw solid #333333;
        border-radius: 0.98vw;
        font-size: 2.93vw;
        line-height: 10.06vw;
    }

}

@media (max-width: 639px) {
    .koguma-container {
        width: 100vw;
        padding: 0 8vw;
    }

    .header-container {
        width: 84vw;
    }

    .mobile-menu-btn {
        position: fixed;
        top: 0;
        right: 8vw;
        background-color: #FFF;
        padding: 3.73vw 5.07vw 4.8vw;
        border: 0.27vw solid #333333;
        border-top: 0;
        border-radius: 0 0 2.67vw 2.67vw;
    }

    .mobile-menu-btn.active {
        border: 0;
        right: 8.3vw;
    }

    .navbar-nav {
        display: block;
        background-color: #FFF;
        border: 0.27vw solid #333333;
        border-top: 0;
        border-radius: 0 0 2.67vw 2.67vw;
        padding: 21.33vw 10vw 7.8vw 13.07vw;
    }

    li.nav-item {
        margin: 0 0 3.93vw;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    li.nav-item::before {
        content: "";
        width: 3.73vw;
        background: #333;
        height: 0.27vw;
        margin-right: 3.73vw;
    }

    .header-home-button {
        position: static;
        width: max-content;
        height: max-content;
        border: none;
        padding: 0;
        justify-content: flex-start;
        background: no-repeat;
        border-radius: unset;
    }

    .header-home-button:hover {
        padding: 0;
        height: max-content;
    }

    .header-home-logo {
        display: none;
    }

    .header-home-logo-mobile {
        display: block;
        width: 8.27vw;
        margin-right: 0.8vw;
    }

    .header-home-logo-mobile img {
        width: 100%;
    }

    .header-home-text p {
        font-size: 4.27vw;
        line-height: 7.47vw;
        color: #2D5FB4;
    }

    .header-line-button {
        position: static;
        width: max-content;
        height: max-content;
        border: none;
        padding: 0;
        justify-content: flex-start;
        background: no-repeat;
        border-radius: unset;
    }

    .header-line-button:hover {
        padding: 0;
        height: max-content;
    }

    .header-line-logo {
        width: 8.53vw;
        margin-right: 2.8vw;
    }

    .header-line-text p {
        font-size: 4.27vw;
        line-height: 8.53vw;
        color: #333333;
    }

    .header-inquiry-button {
        position: static;
        width: max-content;
        height: max-content;
        border: none;
        padding: 0;
        justify-content: flex-start;
        background: no-repeat;
        border-radius: unset;
    }

    .header-inquiry-button:hover {
        padding: 0;
        height: max-content;
    }

    .header-inquiry-text p {
        font-size: 4.27vw;
        line-height: 6.4vw;
        color: #333333;
    }

    #banner {
        padding: 21.6vw 0 14.33vw;
    }
    
    .banner-logo {
        margin: 0 0 1.92vw;
    }
    
    .banner-logo img {
        width: 6vw;
        margin: 0 0.67vw 0 0;
    }
    
    .banner-logo h1 {
        font-size: 3.2vw;
        line-height: 4.8vw;
    }
    
    .banner-title {
        margin: 0 0 1.07vw;
    }
    
    .banner-title h1 {
        font-size: 5.6vw;
        line-height: 8vw;
    }
    
    .banner-subtitle {
        margin: 0 0 9.6vw;
    }
    
    .banner-subtitle h2 {
        font-size: 3.47vw;
        line-height: 5.07vw;
    }
    
    .banner-image {
        width: 84vw;
        margin: 0 auto 12.62vw;
    }
        
    .banner-lists {
        list-style: none;
        display: flex;
        justify-content: space-between;
        margin: 0 0 8.8vw;
        flex-wrap: wrap;
    }
    
    .banner-lists li {
        width: 39.47vw;
        height: 39.47vw;
        border-radius: 39.47vw;
        border: 0.27vw solid #333333;
        margin-bottom: 3.47vw;
    }
    
    .banner-lists li p {
        font-size: 4.27vw;
        line-height: 4.8vw;
    }
    
    .banner-lists li span {
        font-size: 3.47vw;
        line-height: 4.8vw;
    }
    
    .banner-choice {
        display: block;
        border-bottom: 0.4vw dashed #333333;
        width: 100%;
        padding: 0 0 3.2vw;
        margin: 0 auto 3.2vw;
    }
    
    .banner-choice span {
        font-size: 4.53vw;
        line-height: 6.67vw;
        display: block;
        text-align: center;
    }
    
    .banner-choice img {
        display: none;
    }
    
    .banner-text p {
        font-size: 2.93vw;
        line-height: 4.27vw;
    }
    
    #problem {
        padding: 15vw 0 30.264vw;
    }
    
    .problem-card {
        width: 84vw;
        height: 38.13vw;
        border-radius: 4vw;
        border: 0.27vw solid #333333;
        margin: 0 auto 14.13vw;
        padding: 7.2vw 3.6vw;
    }
    
    .problem-card-title {
        text-align: center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: max-content;
        transform: translate(0, -53%);
    }
    
    .problem-card-title h2 {
        font-size: 4vw;
        line-height: 5.6vw;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, #FFF 50%, #FFF 100%);
        display: flex;
        padding: 0 1vw;
    }
    
    .problem-card-title h2::before {
        width: 2.20vw;
        height: 4vw;
        margin: 0.8vw 4vw 0.8vw 0;
    }
    
    .problem-card-title h2::after {
        width: 2.20vw;
        height: 4vw;
        margin: 0.8vw 0 0.8vw 4vw;
    }
        
    .problem-card-list li {
        padding: 0 0 1.45vw;
        margin: 0 0 3.2vw;
        border-bottom: 0.4vw dashed #333333;
        font-size: 2.93vw;
        line-height: 4.27vw;
    }
        
    .problem-card-list li::before {
        width: 4vw;
        height: 4vw;
        margin: 0.135vw 1.6vw 0.135vw 0;
    }
    
    .problem-card-image {
        width: 12vw;
        right: 4.8vw;
        bottom: 3.6vw;
    }
        
    .problem-arrow {
        width: 1.87vw;
        margin-bottom: 10vw;
    }
        
    .problem-title {
        margin: 0 0 11.2vw;
    }
    
    .problem-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }
    
    .problem-lists {
        margin: 0 0 13.8vw;
    }
    
    .problem-lists li {
        width: 23.77vw;
        height: 23.77vw;
        border-radius: 23.77vw;
        border: 0.27vw solid #333333;
    }
        
    .problem-list-text p {
        font-size: 3.2vw;
        line-height: 6.13vw;
    }
    
    .problem-list-title h2 {
        font-size: 5.33vw;
        line-height: 6.13vw;
    }
    
    .problem-list-divider {
        width: 2.93vw;
        height: 0.27vw;
        margin: 11.75vw 0;
    }
    
    .problem-text p {
        font-size: 3.73vw;
        line-height: 6.13vw;
    }
    
    .problem-highlight {
        margin: 0 0 4vw;
    }
    
    .problem-highlight p {
        font-size: 5.33vw;
        line-height: 6.13vw;
        width: 84vw;
    }
    
    .problem-note p {
        font-size: 2.4vw;
        line-height: 3.47vw;
    }
    
    #reason {
        padding: 26.77vw 0 30.4vw;
    }
    
    .reason-before {
        border-left: 50vw solid #F7E5C3;
        border-right: 50vw solid #F7E5C3;
        border-top: 11.73vw solid transparent;
    }
    
    .reason-title-card {
        border: 0.27vw solid #333333;
        border-radius: 18.05vw;
        height: 18.05vw;
        margin: 0 0 17vw;
    }
    
    .reason-title-top {
        width: 19.94vw;
        height: 9.97vw;
        border-top-left-radius: 10.24vw;
        border-top-right-radius: 10.24vw;
        border: 0.27vw solid #333333;
        border-bottom: 0;
    }
    
    .reason-title-top img {
        width: 3.45vw;
        padding-top: 4.8vw;
    }
        
    .reason-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
        flex-wrap: wrap;
        justify-content: center;
    }

    .reason-title span {
        width: 100%;
        font-size: 5.07vw;
        line-height: 6.67vw;
    }
    
    .reason-title h1::before {
        width: 5.85vw;
        height: 5.32vw;
        margin: 1vw 2.4vw 0 0;
    }
    
    .reason-list {
        display: block;
        margin: 0 0 16vw;
    }
    
    .reason-list li {
        width: 100%;
        height: 151.73vw;
        border-radius: 54.13vw;
        border: 0.27vw solid #333333;
        margin: 0 0 14.576vw;
        padding: 19.3vw 6vw 2vw;
        position: relative;
    }
    
    .reason-list-number {
        top: -5.6vw;
    }
    
    .reason-list-number p {
        font-size: 19.73vw;
        line-height: 19.73vw;
        text-shadow: 1vw 1vw 0 #333, 0.3vw -0.3vw 0 #333, -0.3vw 0.3vw 0 #333, 0.3vw 0.3vw 0 #333;
    }
    
    .reason-list-title {
        margin: 0 0 5.6vw;
    }
    
    .reason-list-title h2 {
        font-size: 6.93vw;
        line-height: 11.2vw;
    }
    
    .reason-list-title span {
        font-size: 5.87vw;
        line-height: 11.2vw;
    }
    
    .reason-list-image {
        margin: 0 auto 5.6vw;
    }
    
    .reason-list-image img {
        width: auto;
        height: 57.5vw;
    }
    
    .reason-list-text p {
        font-size: 4vw;
        line-height: 5.6vw;
    }
    
    .reason-text {
        margin: 0 0 6.4vw;
    }
    
    .reason-text p {
        font-size: 4.27vw;
        line-height: 6.4vw;
    }
    
    .reason-text p::before {
        width: 3.2vw;
        height: 5.6vw;
        margin: 0.4vw 3.6vw 0.4vw 0;
    }
    
    .reason-text p::after {
        width: 3.2vw;
        height: 5.6vw;
        margin: 0.4vw 0 0.4vw 3.6vw;
    }
    
    .reason-button a {
        width: 84vw;
        height: 18.27vw;
        border: 0.27vw solid #333333;
        border-radius: 2.67vw;
        font-size: 4.27vw;
        line-height: 8.47vw;
        padding: 4.9vw 5.2vw;
    }
    
    .reason-button a::before {
        width: 8.47vw;
        height: 8.47vw;
        margin: 0 3.44vw 0 0;
    }
        
    #differences {
        padding: 26.77vw 0 34.13vw;
    }
    
    .differences-before {
        border-left: 50vw solid #FFFFFF;
        border-right: 50vw solid #FFFFFF;
        border-top: 11.73vw solid transparent;
    }
    
    .differences-title-card {
        border: 0.27vw solid #333333;
        border-radius: 9.184vw;
        height: 9.184vw;
        margin: 0 0 13.5vw;
    }
    
    .differences-title-top {
        width: 19.94vw;
        height: 9.97vw;
        border-top-left-radius: 10.24vw;
        border-top-right-radius: 10.24vw;
        border: 0.27vw solid #333333;
        border-bottom: 0;
    }
    
    .differences-title-top img {
        width: 4.8vw;
        padding-top: 4.8vw;
    }
        
    .differences-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }

    .differences-table {
        overflow-x: scroll;
    }
    
    .differences-table > table {
        width: 185.07vw;
    }
    
    .differences-table th {
        width: 50.93vw;
    }
    
    .differences-table th:first-child {
        width: 30.67vw;
    }
    
    .differences-table-card {
        width: 50.4vw;
        height: 19.47vw;
        border-radius: 1.33vw;
        line-height: 19.47vw;
        font-size: 4vw;
    }
    
    .differences-table td {
        width: 50.93vw;
        height: 39.73vw;
        font-size: 4vw;
        line-height: 5.07vw;
        border-left: 0.53vw dashed #333333;
    }
    
    .differences-table td:first-child {
        width: 30.67vw;
        border-left: none;
    }
    
    .differences-table td:nth-child(2) {
        border-left: 0.53vw solid #AAAAAA;
    }
        
    .differences-table td h2 {
        font-size: 4vw;
        line-height: 5.6vw;
    }
    
    .differences-table td p {
        font-size: 4vw;
        line-height: 5.07vw;
        padding: 0 6.47vw;
    }
    
    .differences-table td:nth-child(2) p {
        font-size: 4vw;
        line-height: 5.07vw;
        padding: 0 6.47vw;
    }
    
    .differences-table-cost td p {
        font-size: 6.13vw;
        line-height: 9.07vw;
    }
    
    .differences-table-cost td:nth-child(2) p {
        font-size: 8vw;
        line-height: 6.13vw;
    }
    
    .differences-table-cost td:nth-child(2) span {
        font-size: 4vw;
        line-height: 6.13vw;
    }
    
    .differences-table-royalty td:nth-child(2) p {
        font-size: 6.13vw;
        line-height: 9.07vw;
    }
    
    .differences-table-feature td:nth-child(2) p {
        font-size: 3.47vw;
        line-height: 4.8vw;
    }
    
    #revenue-model {
        padding: 26.77vw 0 26.27vw;
    }
    
    .revenue-model-before {
        border-left: 50vw solid #FCF5E8;
        border-right: 50vw solid #FCF5E8;
        border-top: 11.73vw solid transparent;
    }
    
    .revenue-model-title-card {
        border: 0.27vw solid #333333;
        border-radius: 9.184vw;
        height: 9.184vw;
        margin: 0 0 16vw;
    }
    
    .revenue-model-title-top {
        width: 19.94vw;
        height: 9.97vw;
        border-top-left-radius: 10.24vw;
        border-top-right-radius: 10.24vw;
        border: 0.27vw solid #333333;
        border-bottom: 0;
    }
    
    .revenue-model-title-top img {
        width: 4.8vw;
        padding-top: 4.8vw;
    }
    
    .revenue-model-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }
    
    .revenue-model-text {
        margin: 0 0 12vw;
    }
    
    .revenue-model-text p {
        font-size: 3.73vw;
        line-height: 5.33vw;
    }
    
    .revenue-model-card {
        width: 84vw;
        height: 76vw;
        border-radius: 4vw;
        padding: 12.53vw 5.33vw 0;
        margin: 0 0 17.33vw;
    }
    
    .revenue-model-card-title {
        margin: 0 0 3.47vw;
    }
    
    .revenue-model-card-title h2 {
        font-size: 3.73vw;
        line-height: 5.33vw;
    }
    
    .revenue-model-card-time {
        margin: 0 0 0.8vw;
    }
    
    .revenue-model-card-time p {
        font-size: 6.4vw;
        line-height: 9.33vw;
    }
    
    .revenue-model-card-price {
        margin: 0 0 5.87vw;
    }
    
    .revenue-model-card-price p {
        font-size: 9.6vw;
        line-height: 13.87vw;
    }
    
    .revenue-model-card-price label {
        font-size: 6.4vw;
        line-height: 9.33vw;
    }
    
    .revenue-model-card-price span {
        font-size: 4.27vw;
        line-height: 6.4vw;
    }
    
    .revenue-model-card-button p {
        width: 73.6vw;
        height: 16vw;
        border: 0.27vw solid #333333;
        border-radius: 2.67vw;
        font-size: 3.2vw;
        line-height: 4.53vw;
        padding: 2.67vw 4.5vw;
    }
    
    .revenue-model-card-button p::before {
        width: 7.47vw;
        height: 7.47vw;
        margin: 0.8vw 2.9vw 0.8vw 0;
    }
        
    .revenue-model-highlight {
        margin: 0 0 6.4vw;
    }
    
    .revenue-model-highlight p {
        font-size: 4.27vw;
        line-height: 6.4vw;
    }
    
    .revenue-model-highlight p::before {
        width: 3.2vw;
        height: 5.6vw;
        margin: 0.4vw 3.6vw 0.4vw 0;
    }
    
    .revenue-model-highlight p::after {
        width: 3.2vw;
        height: 5.6vw;
        margin: 0.4vw 0 0.4vw 3.6vw;
    }
    
    .revenue-model-button a {
        width: 84vw;
        height: 18.27vw;
        border: 0.27vw solid #333333;
        border-radius: 2.67vw;
        font-size: 4.27vw;
        line-height: 8.47vw;
        padding: 4.9vw 5.2vw;
    }
    
    .revenue-model-button a::before {
        width: 8.47vw;
        height: 8.47vw;
        margin: 0 3.44vw 0 0;
    }
        
    #review {
        padding: 22.67vw 0 29.33vw;
    }
    
    .review-title-card {
        border: 0.27vw solid #333333;
        border-left: none;
        width: 51.73vw;
        height: 13.6vw;
        border-radius: 0 13.6vw 13.6vw 0;
    }
    
    .review-title h1 {
        font-size: 4.8vw;
        line-height: 13.6vw;
        text-align: left;
        padding-left: 19.2vw;
    }
        
    .review-lists li {
        display: block;
        margin: 0 0 15.2vw;
    }
    
    .review-lists li:last-child {
        margin: 0;
    }
    
    .review-lists-info {
        width: 100%;
        order: 2;
    }
    
    .review-lists li:nth-child(2n) .review-lists-info {
        order: 2;
    }
    
    .review-lists-title h2 {
        font-size: 5.33vw;
        line-height: 6.67vw;
    }
    
    .review-lists-detail {
        margin: 0 0 4.27vw;
    }
    
    .review-lists-detail p {
        font-size: 4.27vw;
        line-height: 6.67vw;
    }
    
    .review-lists-text {
        border-top: 0.4vw dashed #333;
        padding-top: 4.27vw;
    }
    
    .review-lists-text p {
        font-size: 3.73vw;
        line-height: 6.13vw;
    }
    
    .review-lists-image {
        width: 100%;
        order: 1;
    }
    
    .review-lists li:nth-child(2n) .review-lists-image {
        order: 1;
    }
    
    .review-lists-photo {
        width: 61.33vw;
        margin: 0 auto 10.13vw;
    }
        
    #owner {
        padding: 26.77vw 0 25.33vw;
    }
    
    .owner-before {
        border-left: 50vw solid #F7E5C3;
        border-right: 50vw solid #F7E5C3;
        border-top: 11.73vw solid transparent;
    }
    
    .owner-title-card {
        border: 0.27vw solid #333333;
        border-radius: 9.184vw;
        height: 9.184vw;
        margin: 0 0 13.5vw;
    }
    
    .owner-title-top {
        width: 19.94vw;
        height: 9.97vw;
        border-top-left-radius: 10.24vw;
        border-top-right-radius: 10.24vw;
        border: 0.27vw solid #333333;
        border-bottom: 0;
    }
    
    .owner-title-top img {
        width: 4.8vw;
        padding-top: 4.8vw;
    }
        
    .owner-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }
    
    .owner-title h1::before {
        width: 5.85vw;
        height: 5.32vw;
        margin: 0.67vw 2.4vw 0.67vw 0;
    }
    
    .owner-detail-card {
        display: block;
        margin: 0 0 9.6vw;
    }
    
    .owner-detail-card-left {
        width: 100%;
        margin: 0 0 8vw;
    }
    
    .owner-detail-card-right {
        width: 100%;
    }
    
    .owner-detail-card-title {
        padding: 0 0 5.6vw;
        border-bottom: 0.4vw dashed #333333;
        margin: 0 0 5.6vw;
    }
    
    .owner-detail-card-title h2 {
        font-size: 5.33vw;
        line-height: 8vw;
    }
    
    .owner-detail-card-text p {
        font-size: 4.27vw;
        line-height: 6.67vw;
    }
    
    .owner-detail-card-image {
        width: 61.33vw;
        margin: 0 auto 8vw;
    }
        
    .owner-detail-card-name {
        margin: 0 auto 2.67vw;
        width: 61.33vw;
    }
    
    .owner-detail-card-name p {
        font-size: 4.8vw;
        line-height: 6.93vw;
    }

    .owner-detail-card-info {
        width: 61.33vw;
        margin: 0 auto;
    }
    
    .owner-detail-card-info p {
        font-size: 3.73vw;
        line-height: 6.13vw;
    }
    
    .owner-book {
        width: 100%;
        height: 48vw;
        border: 0.27vw solid #333333;
        border-radius: 4vw;
        padding: 2.93vw 6.13vw 0;
        display: block;
    }
    
    .owner-book-title {
        width: 100%;
        border: none;
        border-bottom: 0.27vw solid #333333;
        padding: 0 0 3.07vw;
        margin: 0 0 3.07vw;
    }
    
    .owner-book-title h2 {
        font-size: 3.73vw;
        line-height: 7.2vw;
    }
    
    .owner-book-text {
        width: 100%;
        padding: 0;
    }
        
    .owner-book-lists li {
        font-size: 3.2vw;
        line-height: 4.53vw;
    }
    
    .owner-book-link p {
        font-size: 3.2vw;
        line-height: 4.53vw;
        padding-left: 4vw;
    }
    
    #faq {
        padding: 26.77vw 0 30.4vw;
    }
    
    .faq-before {
        border-left: 50vw solid #FCF5E8;
        border-right: 50vw solid #FCF5E8;
        border-top: 11.73vw solid transparent;
    }
    
    .faq-title-card {
        border: 0.27vw solid #333333;
        border-radius: 9.184vw;
        height: 9.184vw;
        margin: 0 0 19.5vw;
    }
    
    .faq-title-top {
        width: 19.94vw;
        height: 9.97vw;
        border-top-left-radius: 10.24vw;
        border-top-right-radius: 10.24vw;
        border: 0.27vw solid #333333;
        border-bottom: 0;
    }
    
    .faq-title-top img {
        width: 4.8vw;
        padding-top: 4.8vw;
    }
    
    .faq-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }
    
    .faq-lists {
        list-style: none;
        margin: 0 0 21.4vw;
    }
    
    .faq-lists li {
        width: 100%;
        border-radius: 4vw;
        margin: 0 0 16vw;
    }
    
    .faq-lists li:last-child {
        margin: 0;
    }
    
    .faq-lists-question {
        width: 100%;
        border-radius: 4vw;
        padding: 4vw 3.73vw;
        align-items: initial;
    }
    
    .faq-lists-question p {
        font-size: 3.2vw;
        line-height: 4.27vw;
        padding-left: 3.8vw;
        border-left: 0.27vw solid #333;
    }
    
    .faq-lists-question label {
        font-size: 11.6vw;
        line-height: 11.6vw;
        text-shadow: 1vw 1vw 0 #333, 0.3vw -0.3vw 0 #333, -0.3vw 0.3vw 0 #333, 0.3vw 0.3vw 0 #333;
        margin-right: 3.8vw;
    }
    
    .faq-lists-answer {
        width: 100%;
        border-radius: 4vw;
        padding: 4vw 3.73vw;
        align-items: initial;
    }
    
    .faq-lists-answer p {
        font-size: 3.2vw;
        line-height: 4.27vw;
        padding-left: 3.8vw;
        border-left: 0.27vw solid #333;
    }
    
    .faq-lists-answer label {
        font-size: 11.6vw;
        line-height: 11.6vw;
        text-shadow: 1vw 1vw 0 #333, 0.3vw -0.3vw 0 #333, -0.3vw 0.3vw 0 #333, 0.3vw 0.3vw 0 #333;
        margin-right: 4.5vw;
    }
    
    .faq-subtitle {
        margin: 0 0 3.2vw;
    }
    
    .faq-subtitle h2 {
        font-size: 4.27vw;
        line-height: 6.67vw;
    }
    
    .faq-check-card {
        width: 100%;
        margin: 0 auto 3.2vw;
        border: 0.27vw solid #333333;
        border-radius: 4vw;
        padding: 3.6vw 5.6vw;
    }
    
    .faq-check-lists li {
        padding: 0 0 1.75vw;
        border-bottom: 0.4vw dashed #2D5FB4;
        margin: 0 0 3.5vw;
        font-size: 3.2vw;
        line-height: 4vw;
    }
    
    .faq-check-lists li::before {
        width: 4vw;
        height: 4vw;
        margin: 0 3.5vw 0 0;
    }
    
    .faq-check-lists li:last-child {
        margin: 0;
    }
    
    .faq-text {
        margin: 0 0 18.67vw;
    }
    
    .faq-text p {
        font-size: 2.93vw;
        line-height: 4.27vw;
    }
    
    .faq-highlight {
        margin: 0 0 6.4vw;
    }
    
    .faq-highlight p {
        font-size: 4.27vw;
        line-height: 6.4vw;
    }
    
    .faq-highlight p::before {
        width: 3.2vw;
        height: 5.6vw;
        margin: 0.4vw 3.6vw 0.4vw 0;
    }
    
    .faq-highlight p::after {
        width: 3.2vw;
        height: 5.6vw;
        margin: 0.4vw 0 0.4vw 3.6vw;
    }
    
    .faq-button a {
        width: 84vw;
        height: 18.27vw;
        border: 0.27vw solid #333333;
        border-radius: 2.67vw;
        font-size: 4.27vw;
        line-height: 8.47vw;
        padding: 4.9vw 5.2vw;
    }
    
    .faq-button a::before {
        width: 8.47vw;
        height: 8.47vw;
        margin: 0 3.44vw 0 0;
    }
        
    #inquiry {
        padding: 26.77vw 0 21.33vw;
    }
    
    .inquiry-before {
        border-left: 50vw solid #FFFFFF;
        border-right: 50vw solid #FFFFFF;
        border-top: 11.73vw solid transparent;
    }
    
    .inquiry-title-card {
        border: 0.27vw solid #333333;
        border-radius: 9.184vw;
        height: 9.184vw;
        margin: 0 0 12vw;
    }
    
    .inquiry-title-top {
        width: 19.94vw;
        height: 9.97vw;
        border-top-left-radius: 10.24vw;
        border-top-right-radius: 10.24vw;
        border: 0.27vw solid #333333;
        border-bottom: 0;
    }
    
    .inquiry-title-top img {
        width: 4.8vw;
        padding-top: 4.8vw;
    }
    
    .inquiry-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }
    
    .inquiry-form > form {
        width: 100%;
    }
    
    .contact-form-option, .contact-form-text {
        display: block;
        margin: 0 0 12vw;
    }
    
    .contact-form-option .invalid-feedback {
        width: 100%;
    }
    
    .contact-form-textarea {
        display: block;
        margin: 0 0 12vw;
    }
    
    .contact-form-label {
        width: 100%;
        justify-content: flex-start;
        margin: 0 0 4.8vw;
    }
    
    .contact-form-input {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
    
    .contact-form-label > label {
        font-size: 4.27vw;
        line-height: 6.4vw;
    }
    
    .contact-form-input input[type="radio"] {
        width: 6.67vw;
        height: 6.67vw;
        margin-right: 2.4vw;
    }
    
    .contact-form-option > .contact-form-input label {
        font-size: 4vw;
        line-height: 5.6vw;
        width: 24vw;
        margin-right: 1.33vw;
    }
    
    .contact-form-input > input[type="text"] {
        width: 100%;
        font-size: 4vw;
        line-height: 5.6vw;
        border: 0.27vw solid #707070;
        padding: 2.13vw;
    }
    
    .contact-form-input > input[type="email"] {
        width: 100%;
        font-size: 4vw;
        line-height: 5.6vw;
        border: 0.27vw solid #707070;
        padding: 2.13vw;
    }
    
    .contact-form-input > textarea {
        height: 45.33vw;
        width: 100%;
        font-size: 4vw;
        line-height: 5.6vw;
        border: 0.27vw solid #707070;
        padding: 2.13vw;
    }
    
    .contact-form-required {
        width: 14.4vw;
        font-size: 4vw;
        line-height: 7.73vw;
        height: 7.73vw;
        border-radius: 7.73vw;
        margin-left: 2.93vw;
    }
    
    .contact-form-required-not {
        width: 14.4vw;
        font-size: 4vw;
        line-height: 7.73vw;
        height: 7.73vw;
        border-radius: 7.73vw;
        margin-left: 2.93vw;
    }
    
    .inquiry-privacy-button {
        margin: 0 0 8vw;
    }
    
    .inquiry-privacy-button a {
        width: 100%;
        height: 13.33vw;
        border: 0.27vw solid #333333;
        font-size: 3.73vw;
        line-height: 13.33vw;
    }
    
    .contact-agreement {
        margin: 0 auto 21.33vw;
        width: 100%;
    }
    
    .contact-agreement > input {
        width: 6.93vw;
        height: 6.93vw;
        border: 0.27vw solid #707070;
        margin-right: 4.8vw;
    }
    
    .contact-agreement > label {
        font-size: 3.73vw;
        line-height: 6.93vw;
    }
        
    .inquiry-form input[type=submit] {
        width: 100%;
        border: 0.27vw solid #333333;
        font-size: 5.33vw;
        line-height: 20.53vw;
        height: 20.53vw;
        border-radius: 2.67vw;
    }
    
    .inquiry-form button[type=submit] {
        width: 100%;
        border: 0.27vw solid #333333;
        font-size: 5.33vw;
        line-height: 20.53vw;
        height: 20.53vw;
        border-radius: 2.67vw;
    }
    
    #footer {
        padding: 2.4vw 0;
    }
    
    .copyright-text p {
        font-size: 3.73vw;
        line-height: 6.67vw;
    }
    
    .copyright-text p::before {
        font-size: 4.53vw;
        line-height: 6.67vw;
    }

    /* PRIVACY PAGE */
    #privacy {
        padding: 37.5vw 0 12.8vw;
    }

    .privacy-title-card {
        border: 0.27vw solid #333333;
        border-radius: 9.184vw;
        height: 9.184vw;
        margin: 0 0 16.8vw;
    }

    .privacy-title-top {
        width: 19.94vw;
        height: 9.97vw;
        border-top-left-radius: 10.24vw;
        border-top-right-radius: 10.24vw;
        border: 0.27vw solid #333333;
        border-bottom: 0;
    }

    .privacy-title-top img {
        width: 4.05vw;
        padding-top: 4.8vw;
    }

    .privacy-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }

    .privacy-text {
        width: 100%;
        margin: 0 auto 16vw;
    }

    .privacy-text p {
        font-size: 3.73vw;
        line-height: 5.33vw;
    }

    .privacy-lists li {
        margin: 0 0 14.4vw;
    }

    .privacy-lists-title {
        margin: 0 0 4.8vw;
    }

    .privacy-lists-title h2 {
        font-size: 5.33vw;
        line-height: 8vw;
    }

    .privacy-lists-title h2::before {
        width: 6.13vw;
        height: 6.93vw;
        margin: 0.53vw 3.73vw 0.53vw 0;
    }

    .privacy-lists-text p {
        font-size: 3.73vw;
        line-height: 5.33vw;
    }

    .privacy-card {
        border-radius: 4vw;
        width: 100%;
        padding: 4.8vw 5.6vw 4.27vw;
    }

    .privacy-card-title {
        margin: 0 0 20px;
    }

    .privacy-card-title h2 {
        text-align: center;
        font-size: 5.33vw;
        line-height: 8vw;
    }

    .privacy-card-text p {
        font-size: 3.73vw;
        line-height: 5.33vw;
    }

    .desktop {
        display: none;
    }

    .mobile {
        display: block;
    }

    /* THANKS PAGE */
    #thanks {
        padding: 37.33vw 0 25vw;
    }

    .thanks-title-card {
        border: 0.27vw solid #333333;
        border-radius: 10.6vw;
        height: 10.6vw;
        margin: 0 0 16vw;
    }

    .thanks-title h1 {
        font-size: 4.8vw;
        line-height: 6.67vw;
    }

    .thanks-text {
        width: 72.53vw;
        margin: 0 auto 12.8vw;
    }

    .thanks-text p {
        font-size: 3.73vw;
        line-height: 5.33vw;
    }

    .thanks-image {
        width: 45.6vw;
        margin: 0 auto 12.8vw;
    }

    .thanks-button a {
        width: 100%;
        height: 20.53vw;
        border: 0.2vw solid #333333;
        border-radius: 2.67vw;
        font-size: 5.33vw;
        line-height: 20.53vw;
    }

}